LocalDate、LocalTime、LocalDateTime

本文介绍了Java中日期时间API的基本用法,包括LocalDate、LocalTime及LocalDateTime的创建、转换及日期计算等操作,并提供了如何计算两个日期之间的天数差距、获取日期中的日月年等实用技巧。

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

这三个有相似的地方,以下总结一下工作中使用到的方法:

  1. 基本的创建时间
LocalDate ld = LocalDate.of(2017, 5, 10);
LocalTime lt = LocalTime.of(15, 0);
LocalDateTime ldt = LocalDateTime.of(ld, lt);
ld = ldt.toLocalDate();
lt = ldt.toLocalTime();
ldt = ld.atTime(15,0);
ldt = ld.atStartOfDay(); // ld这一天的凌晨
ld = LocalDate.now(); // 还有好多,就不一一列举了

还有String类型转成这三种类型

DateTimeFormatter sf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
LocalDate ld = LocalDate.parse("2017-05-10");
LocalTime lt = LocalTime.parse("15:15");
LocalDateTime ldt = LocalDateTime.parse("2017-05-10 15:16", sf); // 当转成LocalDateTime类型时,需要给出时间格式,具体原因没了解过。。。。
  1. 计算两个日期相差的天数:
LocalDate ld1 = LocalDate.of(2017, 5, 10);
LocalDate ld2 = LocalDate.of(2016, 4, 10);
Long days = ld1.toEpochDay() - ld2.toEpochDay(); // 输出是long类型的,LocalTime也有类型的方法不过算的是相差多少秒。
  1. 日月年
LocalDate ld = LocalDate.of(2017, 5, 10);
System.out.println(ld.getDayOfMonth()); // 10,这个月的哪一天
System.out.println(ld.getDayOfYear()); // 130,这一年的哪一天
System.out.println(ld.getMonthValue()); // 5,月份(int类型)
System.out.println(ld.getYear()); // 2017, 年份(int类型)
System.out.println(ld.getDayOfWeek().getValue()); // 3, 周几(int类型)
System.out.println(ld.getMonth()); // MAY, Month类型

判断闰年

System.out.println(ld.isLeapYear()); //false
ld.lengthOfMonth(); // 这一月的天数
  1. 目前就这么多,遇到后再更新。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值