java 日期类 Date Calendar

日期类 Date
java是一门开发语言,所以在我们开发当中会需要获取当前系统时间,系统IP,电脑名字,电脑物理地址
对于这些操作来说,我们都无法搬到,所以java提供了各种工具类给我们使用
日期来就叫Date
首先创建对象, 需要调用构造方法

        System.out.println(frame);
        Date today = new Date();
        System.out.println(today);
        System.out.println(today.toLocaleString()); 

目前我们得到的结果是由java去决定输出的方式,但是在实际项目中,我们有的时候需要按照项目的需求去对时间进行格式化输出。这时候我们需要借助一个工具类。DateFormat
但是我们发现该类的构造方法是protected的,无法直接调用,所以我们找到该类的子类SimpleDateFormat进行格式化
//2018-06-07
SimpleDateFormat format = new SimpleDateFormat(“yyyy年MM月dd日 HH点mm分”);
String str = format.format(date);
System.out.println(str);
我们发现Date中的大部分方法都过时了。由Calendar中的一些属性方法来替代,
所以对于我们的日期的操作,实际上是由Calendar来完成,Date只是一个日期的格式化使用。
Calendar类

Calendar类是我们进行日期运算的一个核心的类。但是该类没有提供可访问的构造器,所以该类是利用的单利模式获取对象,同时也可以使用子类进行日期操作

Calendar c = Calendar.getInstance();
        System.out.println(c);

        System.out.println(c.get(Calendar.DAY_OF_WEEK));
        System.out.println(c.get(Calendar.MONTH)+1);
GregorianCalendar gc = new GregorianCalendar();
        System.out.println(gc.get(Calendar.MONTH));
        System.out.println(gc.get(Calendar.DAY_OF_MONTH));
        /**
         * 2018年6月7日15:01:57
         * 2018年6月7日15:01:59
         * 2018年6月7日15:02:01
         * 2018年6月7日15:02:02
         * 2018年6月7日15:02:03
         */

        gc.add(Calendar.DAY_OF_YEAR, 20000);
        System.out.println(gc);

        Date d = gc.getTime();
        System.out.println(d);

        System.out.println(DateUtils.formatDate(d));

Date和Calendar、String之间相互转换:
//吧字符串转成日期
//2008年6月7日
String str = “2008-06-07 11-11-11”;
Date date = DateUtils.formatStr(str);
System.out.println(date);

    GregorianCalendar gc = new GregorianCalendar();
    gc.setTime(date);

    System.out.println(gc);

    gc.add(Calendar.YEAR, 1);

猜你喜欢

转载自blog.csdn.net/sky274548769/article/details/80599125