玩命加载中 . . .

常用类—日期类(36)


常用类—日期类

  1. 示例代码:

        // 常用类—日期类
        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
        }
    
  2. 练习:获取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();
            }
    

文章作者: 小靳同学
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 小靳同学 !
评论
  目录