常用类—日期类
示例代码:
// 常用类—日期类 public static void main(String[] args) throws Exception { // currentTimeMillis()方法获取自1970年1月1日00时00分00秒000毫秒到当前的毫秒数 long now = System.currentTimeMillis(); System.out.println(now); // 获取当前时间 Date nowTime = new Date(); System.out.println(nowTime); // --> Tue Sep 21 15:08:10 CST 2021 // 以上输出结果说明,Java.Util.Date类已经重写了toString()方法 // 输出结果对于中国人来说不太容易理解,可以使用java.text.SimpleDateFormat用来格式化日期对象并返回-->String /* 日期格式(注大小写): * y 年 * M 月 * d 日 * H 小时 * m 分 * s 秒 * S 毫秒 */ // Date --> String // 1.创建一个日期格式化对象 SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss SSS"); // 2.开始格式化日期对象 String strTime1 = sdf.format(nowTime); System.out.println(strTime1); // --> 2021年09月21日 15:21:31 736 // String --> Date // 获取特定的日期 // 1.创建一个格式化对象 SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS"); // 注意:格式化日期对象不可以随便写,需要与字符串格式相符。 // 2.将String转化成Date对象 String s1 = "2020-09-21 15:29:00 000"; Date t = sdf2.parse(s1); System.out.println(t); // --> Mon Sep 21 15:29:00 CST 2020 // 1000毫秒是自1970年1月1日00:00:00 GMT的毫秒数 Date t2 = new Date(1000); // 分配 Date对象并初始化它以表示自标准基准时间(称为“纪元”)以来的指定毫秒数,即1970年1月1日00:00:00 GMT。 // 格式化日期对象 SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy,MM,dd HH:mm:ss SSS"); // 北京属于东八区 所以比CST时区早八小时 System.out.println(sdf3.format(t2)); // --》 1970,01,01 08:00:01 000 // 获取当前时间的前十分钟 Date t3 = new Date(System.currentTimeMillis() - 1000*60*10); System.out.println(sdf3.format(t3)); // 2021,09,21 15:38:30 116 }
练习:获取2008 8 8 是星期几?
public static void main(String[] args) { // 获取系统当前的日期 Calendar c = Calendar.getInstance(); // 查看当前日历下"星期几" int i1 = c.get(Calendar.DAY_OF_WEEK); System.out.println(i1); // --> 6 int i2 = c.get(Calendar.DAY_OF_MONTH); // 查看当前几号 System.out.println(i2); // --> 24 // 练习获取2008 8 8 是星期几? // 获取2008 8 8日期 try { String strTime="2008-08-08"; Date date = new SimpleDateFormat("yyyy-MM-dd").parse(strTime); c.setTime(date); System.out.println(c.get(Calendar.DAY_OF_WEEK)); // ---> 6 }catch (Exception e) { e.getStackTrace(); }