Java基础_日期类

日期类

日期时间因为其时刻唯一性,经常被用作唯一标识。在java中存储的时间是一个长整型的数字。0代表的是1970年1月1日0时0分0秒。因为我们位于东八区,所以我们的时刻要加上8个小时,0代表的是1970年一月一日8时0分0秒。往前时负数,往后是整数。以毫秒计。

日期常用类

1、System(系统类)
2、Date(日期类)
3、SimpleDateFormat(日期格式类)

1、System类

  • public static native long currentTimeMillis();

     系统类中,有个currentTimeMillis()方法,用来返回当前时间。返回long类型。可以用来做为程序
     效率的计算。
    

2、Date类
构造器

  • Date();

     无参构造器,创建代表当前时间的日期类。
    
  • Date(long time)

     传入一个long类型的整数,作为指定的时间,按自己所处时区0时刻开始算,到传入的整数的距离。
     作为时间对象。
    
Date dt2 = new Date(0l);
System.out.println(dt2); //Thu Jan 01 08:00:00 CST 1970

常用方法

  • public long getTime()

     返回对象的时间。是一个长整型的数字。
    
  • public void setTime(long time)

    设置(修改)时间
    

3、SimpleDateFormat类
构造器
SimpleDateFormat()

不传值代表默认,格式为 yy-MM-dd hh:mm:ss  12小时制。

传字符串代表格式化的格式。如“yyyy-MM-dd HH:mm:ss”。在格式化中分隔符除了英文字母外的其他字符
y代表年,M代表月,d代表日,H代表小时,m代表分,s代表秒。如果使用了其他字母,会报
java.lang.IllegalArgumentException异常
Date dt2 = new Date(0l);
SimpleDateFormat sd = new SimpleDateFormat();
System.out.println(sd.format(dt2));//70-1-1 上午8:00

常用的模板
在这里插入图片描述

使用方式

  • 字符串转日期

     先构造格式化对象,SimpleDateFormat,然后使用其parse方法。传入和模板类似的时间格式
      public Date parse(String source)
    
 SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 Date dt =  sd.parse("2017-12-2 8:8:8"); //获取到时间对象
  • 日期转字符串

     同样先传入格式化的模板,然后使用format方法,传入日期类。
     public final String format(Date date) 返回格式化后的字符串。美观易懂
    
Date dt2 = new Date(0l);
 SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 String str = sd.format(dt2);

JDK8中为了方便我们使用还加了特殊的日期类。
这里简单做介绍

  • Year 类中 now() 方法用来获取当前年份

  • Month类中 定义了月份的枚举 如Month.JANUARY -一月

  • LocalDate类

      now():返回不包含时分秒的本地时区的当前时间
      of(年,月,日,时,分,秒);构建本时区的时间。
      format();格式化时间成字符串 。需要传入一个日期格式转换器。DateTimeFormatter
      parse();转换为时间。 传入需要转的字符和一个日期格式化转换器。DateTimeFormatter
    
  • DateTimeFormatter类

     ofPattern(模板); 传入时间格式化的模板。如yyyy-MM-dd HH:mm:ss,一般和LocalDate一起使用。
    

例如

DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String dtStr= "2020-02-25 11:23:04"; 
LocalDate dt = LocalDate.parse(dtStr,df);
  • Period类

     between();用来计算两个日期之间的间隔
    
LocalDate ld1 = LocalDate.of(2017, 7, 15);
		LocalDate ld2 = LocalDate.of(2015, 6, 13);
		System.out.println(Period.between(ld1, ld2));

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值