使用LocalDateTime优雅的处理日期

简介

LocalDateTime是Java8中添加的类,用于补充java在日期处理的短处,常用的类还有LocalDate,LocalTime,Duration,Period,

常用API

包括获取当前时间,指定特定时间。进行时间的加减等

LocalDateTime localDateTime3 = LocalDateTime.now();
LocalDate.now();
LocalTime.now();
localDateTime3.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
LocalDateTime localDateTime4 = localDateTime3.minus(23,ChronoUnit.MONTHS);
localDateTime4.atZone(ZoneId.systemDefault());
localDateTime4 = localDateTime4.withHour(3);
localDateTime4 = localDateTime4.withYear(2016);
localDateTime4 = localDateTime4.with(ChronoField.MONTH_OF_YEAR,3);

间隔计算

使用Duration进行 day,hour,minute,second等的计算
使用Period进行Year,Month的计算

Duration duration = Duration.between(localDateTime,localDateTime4);
duration.toDays();
duration.toHours();
duration.toMinutes();
Period period2 = Period.between(localDateTime.toLocalDate(),localDateTime4.toLocalDate());
period2.getYears();
period2.getMonths();
period2.toTotalMonths();

与Date的转化,format为String

Date date = Date.from(localDateTime4.atZone(ZoneId.systemDefault()).toInstant());
LocalDateTime dateTime = LocalDateTime.ofInstant(date.toInstant(),ZoneId.systemDefault());

localDateTime3.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在中,可以使用LocalDateTime类来处理日期。以下是一些常见的使用方法: 1. 创建LocalDateTime对象: ```java LocalDateTime time = LocalDateTime.now(); // 获取当前日期和时间 LocalDateTime specificTime = LocalDateTime.of(2021, 12, 6, 10, 11, 11); // 指定日期和时间 ``` 2. 修改LocalDateTime对象的日期和时间: ```java LocalDateTime modifiedTime = time.withYear(2020); // 修改年份 LocalDateTime modifiedTime = time.withMonth(11); // 修改月份 LocalDateTime modifiedTime = time.withHour(1); // 修改小时 LocalDateTime modifiedTime = time.withMinute(3); // 修改分钟 LocalDateTime modifiedTime = time.withSecond(1); // 修改秒数 LocalDateTime modifiedTime = time.withNano(1); // 修改纳秒数 LocalDateTime modifiedTime = time.with(ChronoField.DAY_OF_MONTH, 12); // 通用方法,修改日期 ``` 3. 计算两个LocalDateTime对象之间的时间差: ```java LocalDateTime startTime = LocalDateTime.of(2021, 12, 1, 10, 0, 0); LocalDateTime endTime = LocalDateTime.of(2021, 12, 6, 12, 0, 0); Duration duration = Duration.between(startTime, endTime); // 计算时间差 long minutes = duration.toMinutes(); // 获取时间差的分钟数 ``` 4. LocalDateTime与Date之间的转换: ```java // Date转LocalDateTime Date date = new Date(); LocalDateTime localDateTime = LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault()); // LocalDateTime转Date LocalDateTime localDateTime = LocalDateTime.now(); Date date = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant()); ``` 这些是使用LocalDateTime处理日期的一些常见操作。你可以根据具体需求进行调整和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值