Jdk8常用时间类的使用

jdk8时间类的概念

jdk8时间类的来源是因为以前的时间日期类设计的不足,所以jdk8引入了java.time包来作为新的日期时间处理类。

  • java.time包中主要包含以下类
说明
Clock使用时区提供对当前即时,日期和时间的访问的时钟
Duration计算两个“时间”的间隔
Instant在时间线上的瞬间点(常用)
LocalDate一个不可变的日期时间对象,表示日期,通常被视为年月日(常用)
LocalTime是一个不可变的日期时间对象,代表一个时间,通常被看作是小时 - 秒 (常用)
LocalDateTime是一个不可变的日期时间对象,代表日期时间,通常被视为年 - 月 - 日 - 时 - 分 - 秒(常用)
MonthDay是一个不变的日期时间对象,代表一年和一个月的组合
OffsetDateTime具有偏移量的日期时间的不可变表示
OffsetTime是一个不可变的日期时间对象,表示一个时间,通常被视为小时 - 秒 - 秒
Period用于计算两个“日期”的间隔
Year代表一年的不可变日期时间对象
YearMonth是一个不变的日期时间对象,表示一年和一个月的组合
ZonedDateTime是具有时区的日期时间的不可变表示
Instant
  //2019-12-18T09:12:24.377Z ,我们是东八区,默认是按照本初子午线为准所以要早8个小时
  Instant instant = Instant.now();//直接获取当前时刻
  long l = instant.toEpochMilli();//类似与getTime()
  //根据时区返回ZoneDateTime
  OffsetDateTime offsetDateTime = instant.atOffset(ZoneOffset.ofHours(8));//原时间上加8个小时
LocalDate 和 DateTimeFormatter
  //显示当前时间 年-月-日
  LocalDate localDate = LocalDate.now();//2019-12-18
  //适用于LocalDateTime   FormatStyle.SHORT  FormatStyle.LONG FormatStyle.MEDIUM      FormatStyle.FULL
  DateTimeFormatter.ofLocalizedDate(FormatStyle.SHORT).format(localDate);//19-12-18
  DateTimeFormatter.ofLocalizedDate(FormatStyle.LONG).format(localDate);//2019年12月18日 
  DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM).format(localDate);//2019-12-18
  DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL).format(localDate);//2019年12月18日 星期三
LocalTime
//显示时分秒
LocalTime localTime = LocalTime.now();//17:11:49.751
LocalDateTime 和 DateTimeFormatter
  //显示年月日 时分秒
  LocalDateTime localDateTime = LocalDateTime.now();//2019-12-18T17:11:49.751
  LocalDateTime a = LocalDateTime.of(2020,12,12,12,12,12);//修改时间的年月日时分秒
  //适用于LocalDateTime   FormatStyle.SHORT  FormatStyle.LONG FormatStyle.MEDIUM
  DateTimeFormatter.ofLocalizedDateTime(FormatStyle.SHORT).format(localDateTime);//19-12-18 下午5:19
  DateTimeFormatter.ofLocalizedDateTime(FormatStyle.LONG).format(localDateTime);//2019年12月18日 下午05时21分24秒
  DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM).format(localDateTime);//2019-12-18 17:22:26
DateTimeFormatter
  //格式化日期格式
  DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;//默认格式
  formatter.parse("2019-12-18T17:04:32.876");//ISO resolved to 2019-12-18T17:04:32.876
  //类似SimpleDateFormat 最香的自定义格式时间方式
  DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(LocalDateTime.now());
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值