Java8时间新特性 LocalDate/LocalTime 和 LocalDateTime

本文介绍了Java8中新的日期时间API,包括如何将String转换为Instant, LocalDate, LocalDateTime,Long转换为LocalDateTime,Date转换为Instant和LocalDateTime,以及LocalDateTime如何转换为String。遵循阿里巴巴Java开发手册的最佳实践。" 111536588,10297244,Windows10上搭建EasyDarwin流媒体服务器及推流拉流实践,"['流媒体服务器', 'EasyDarwin', 'ffmpeg']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在阿里巴巴Java开发手册中写到:
1
2

1、String转为Instant、LocalDate、LocalDateTime

//使用Java8新特性

//String -> Instant
Instant instant = LocalDate.parse(time,DateTimeFormatter.ofPattern("yyyy-MM-dd")).atStartOfDay(ZoneId.systemDefault()).toInstant();
//String -> LocalDate
LocalDate localDate = LocalDate.parse("2019-12-27",DateTimeFormatter.ISO_DATE);
//String -> LocalDateTime  第一种方式
LocalDateTime localDateTime1 = LocalDate.parse("2019-12-27",DateTimeFormatter.ISO_DATE).atStartOfDay();
//String -> LocalDateTime  第二种方式
DateTimeFormatter formatter = new DateTimeFormatterBuilder()
     	.appendPattern("yyyy-MM-dd[['T'HH][:mm][:ss]]")
      	.parseDefaulting(ChronoField.HOUR_OF_DAY, 0)
      	.parseDefaulting(ChronoField.MINUTE_OF_HOUR, 0)
        .parseDefaulting(ChronoField.SECOND_OF_MINUTE, 0)
        .parseDefaulting(ChronoField.MILLI_OF_SECOND, 0)
        .toFormatter();
LocalDateTime localDateTime2 = LocalDateTime.parse("2019-12-27", formatter);

2、 Long转为LocalDateTime 、String

//Long -> LocalDateTime
LocalDateTime times_s = LocalDateTime.ofInstant(Instant.ofEpochMilli(传入Long型参数), ZoneId.systemDefault());
//Long -> String
String strTime = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss").format(times_s);

3、 Date转为Instant、LocalDateTime

//Date -> Instant
Instant instant = new Date().toInstant();
//Date -> LocalDateTime
LocalDateTime localDateTime = LocalDateTime.ofInstant(new Date().toInstant(),ZoneId.systemDefault());

4、LocalDateTime转为String

//LocalDateTime -> String
String time = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(LocalDateTime.now());
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值