日期相关的类------Date DateFormat Calendar TimeZone

日期相关的类

  1. Date类
          所属的包:通常使用的是java.util包,需要import导入;
          没有继承的父类,默认继承Object类;
          有无参构造也有有参构造方法,可以创建对象;
          常用的方法
           getTime(),和currentTimeMills()一样,都是返回从1970年1月1日0点0分0秒到现在的毫秒数,返回值是long类型;
		Date date = new Date();
        System.out.println(date.getTime());//1560419215639
        System.out.println(System.currentTimeMillis()); //1560419215639

setTime(参数列表) 可以设置里面的参数可以写年,月,日;
       before(参数),参数是Date类型的对象,比较对象的日期是否在参数日期的前面,若是则返回true;若不是,则返回false;

		Date date = new Date();
        SimpleDateFormat format = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss");
        try {
            Date date1 = format.parse("1997-11-06 00:00:00");
            System.out.println(date.before(date1));//false

after(参数),参数是Date类型的对象,比较的是左边的日期是否在参数日期的后面,若是,则返回true;若不是,则返回false;

		Date date = new Date();
        SimpleDateFormat format = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss");
        try {
            Date date1 = format.parse("1997-11-06 00:00:00");
            System.out.println(date.after(date1));//true
        } catch (ParseException e) {
            e.printStackTrace();
        }

compareTo(参数),参数的Date的对象,比较的是左边的日期是否在参数日期的前边,若是,则返回1;若相等,则返回0;若前面日期在后面日期的后面,则返回-1;返回值是int型;

		Date date = new Date();
        SimpleDateFormat format = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss");
        try {
            Date date1 = format.parse("1997-11-06 00:00:00");
            System.out.println(date.compareTo(date1));//1
        } catch (ParseException e) {
            e.printStackTrace();
        }

toInstant(),显示当前年月日,时分秒和时区

Date date = new Date();
        System.out.println(date.toInstant());//2019-06-13T09:50:51.304Z
        
  1. DateFormat类
         所属的包:java.text包,需要import导入;
         继承Format类;
         此类事抽象类,不能创建对象,需要其子类创建对象;
         SimpleDateFormat是DateFormat的子类;
         调用带String参数的构造方法创建对象;
            可以格式化时间的模式:
		Date d1 = new Date();
        DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String s = df.format(d1);
        System.out.println(s);//2019-04-16 17:05:00
    
-----------------------------------------------------------------------------------------
//以下代码可以得到指定时间的Date对象
		SimpleDateFormat format = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss");
        try {
            Date date = format.parse("2012-10-12 12:34:56");
            String s = format.format(date);
            System.out.println(s);//2012-10-12 12:34:56
        } catch (ParseException e) {
            e.printStackTrace();
        }

以下代码可以计算你从出生到现在总共有多少天:

SimpleDateFormat format = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss");
        long bore = 0;
        try {
            Date date = format.parse("1997-11-06 00:00:00");
            bore = date.getTime();
            System.out.println(date.getTime());
        } catch (ParseException e) {
            e.printStackTrace();
        }
        System.out.println((System.currentTimeMillis() - bore)/1000/3600/24);

-----------------------------------
3. Calendar类
      所属的包:java.util包,需要import导包;
      没有继承的父类,默认继承Object类;
      此类的构造方法是用protected修饰的,一般访问不到;
      此类是一个抽象类,不能创建对象,需要用子类来创建对象;
      常用方法:
         after() before() ---->boolean型
         setTime()
         getTime()----->返回当前日期
         getTimeInMillis()------>返回从1970年1月1日0是0分0秒到现在的毫秒值,返回值是long类型;
         getTimeZone()------>返回当前时区;

				Calendar c1 = Calendar.getInstance();
              c.set(Calendar.YEAR,2015);
             int year = c.get(Calendar.YEAR);
              System.out.println(year);
              //Calendar里面有一个date属性
              //set(参数)可以操作date某一个局部信息,比如:年,月,日;
              //get(参数)可以返回date某一个局部信息;

--------------
4. TimeZone类
      所属的包:java.util,需要import导入包;
      没有继承的类,默认继承Object类;
      此类事抽象类,不能创建对象,可以用其子类创建对象;
      可以通过以下两种方式获得此类对象:

				 //第一种
               	Calendar c = Calendar.getInstance();
                TimeZone tz = c.getTimeZone();
                //第二种
                TimeZone tz = TimeZone.getDefault();

常用方法:
        tz.getID()----->Asia/Shanghai //返回一个String类型的时区;
        tz.getDisplayName()------>中国标准时间 //返回一个标准时间

猜你喜欢

转载自blog.csdn.net/qq_40791843/article/details/91880080