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();
}
}