java 时间和日期
1. 获取时间戳 (精确到毫秒)
System.currentTimeMillis() //返回一个long类型的值
2. 日期和时间处理一般使用三个类组合使用(Date,Calender,SimpleDateFormat)
3. Date 类 (java.util.Date)
现在Date类很多方法无法使用 ,但是出于向下兼容,没有删掉
Date now = new Date(); System.out.println(now);//Wed Sep 06 15:51:25 CST 2017 long time = now .getTime(); //获取时间戳 System.out.println(time);//1504684285086 time+=1000*3600*24; //加上一天的时间 now.setTime(time); System.out.println(now);//Thu Sep 07 15:51:25 CST 2017
4. Calendar类 (Java.util.Calendar)
Calendar calender1 = Calendar.getInstance(); System.out.println(calender1); Date d1 = calender1.getTime(); System.out.println(d1); d1.setTime( d1.getTime() + 3600*24*1000);//明天 calender1.setTime(d1); System.out.println(calender1); // 设置calendar 都是calendar的常量 DAY_OF_YEAR是年的第几天 DAY_WEEK 是周的第几天 是从星期日开始的 calender1.set(Calendar.YEAR, 2019); //设置年 calender1.set(Calendar.MONTH, 9); //设置月 从0开始的 calender1.set(Calendar.DAY_OF_MONTH, 11);//设置几号 calender1.set(Calendar.HOUR_OF_DAY, 11); //设置小时 calender1.set(Calendar.MINUTE, 11); //设置分钟 calender1.set(Calendar.SECOND, 11); //设置秒 System.out.println( calender1.getActualMaximum(Calendar.DAY_OF_MONTH) ); //获取一个月最多多少天 System.out.println(smf.format(calender1.getTime()));
5. SimpleDateFormat (java.text.SimpleDateFormat)
日期字符串和Date类之间的转化,
格式符是(y年 M月 d日 H是24小时制 h是12小时制 E是星期 a是 am/pm
//日期转字符串 Date now = new Date(); SimpleDateFormat smf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateStr = smf.format(now); System.out.println(dateStr); // 字符串转日期 String dateStr = "2017-09-09 12:12:12"; SimpleDateFormat smf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = smf.parse(dateStr); System.out.println(date); //秒表小练习 while( true ) { Date date = new Date(); SimpleDateFormat smf = new SimpleDateFormat("hh:mm:ss"); System.out.println(smf.format(date)); try { Thread.sleep(1000l); } catch (InterruptedException e) { e.printStackTrace(); } }