时间类

发布时间 2023-03-23 22:36:52作者: lifeBug

JDK7

Date

 

 Date date=new Date();
        System.out.println(date.getTime());  //获取1970-1-1 08:00:00到现在的毫秒值
        Date date1=new Date(0);
        System.out.println(date1);  //Thu Jan 01 08:00:00 CST 1970
        date1.setTime(1679578872543l);
        System.out.println(date1);  //Thu Mar 23 21:41:12 CST 2023

 

SimpleDateFormar

格式化:把时间变成我们喜欢的格式。

解析:把字符串表示的时间变成Date对象

方法

 

 

Date d1=new Date(0);
        SimpleDateFormat sdf=new SimpleDateFormat();
        System.out.println(sdf.format(d1));  //默认格式1970/1/1 上午8:00

        SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd HH:ss:mm");
        System.out.println(sdf1.format(d1));  //1970-01-01 08:00:00

        String dateStr="2023-02-14 20:00:00";
        Date date = sdf1.parse(dateStr);  //把字符串变成时间对象
        System.out.println(date); //Tue Feb 14 20:00:00 CST 2023

 

Calendar

  Calendar代表了系统当前时间的日历对象,可以单独修改、获取时间中的年,月,日

  细节:Calendar是一个抽象类,不能直接创建对象

 

 常用方法

 

 注意:

  日历类中月份的范围:0-11

  日历类中星期的特点:范围1-7,1表示星期日  是一周中的第一天

//根据系统的不同时区来获取不同的日历对象,默认获取当前时间
        //会把时间中的纪元,年,月,日,时,分,秒,星期等等放到一个数组中
        //细节:
        //月份:范围是0-11 如果获取出来的是0,那么实际上是1月
        //星期:范围1-7   1表示的是星期日  7表示星期六
        Calendar cl = Calendar.getInstance();
        Date d=new Date(0);
        //把日期设置为1970-1-1 08:00:00
        cl.setTime(d);
        System.out.println(cl);

        //获取日期中的某个字段信息
        int year = cl.get(Calendar.YEAR);
        System.out.println(year);       //1970
        int month = cl.get(Calendar.MONTH);
        System.out.println(month);      //0  实际表示1月
        int day = cl.get(Calendar.DAY_OF_YEAR);
        System.out.println(day);        //1

        //修改日历中的某个字段信息
        cl.set(Calendar.YEAR,2000);
        System.out.println(cl.get(Calendar.YEAR));  //2000

        //为某个字段增加/减少指定的值
        cl.add(Calendar.MONTH,2);  //为月份增加两个月
        System.out.println(cl.get(Calendar.MONTH));  //2  实际表示3月