LocalDate和LocalDateTime常用API总结

前言

提示:都是以当前时间为例,如需其他时间,指定日期即可


一、LocalDate

1.获取当前时间

LocalDate today = LocalDate.now();

2.获取当前月份

LocalDate today = LocalDate.now();
int month = today.getMonthValue();

3.获取当前日期

LocalDate today = LocalDate.now();
int day = today.getDayOfMonth();

4.获取指定日期

LocalDate date = LocalDate.parse("2020-01-01");  #以获取20200101日为例

5.获取当前时间前/后X天的日期

LocalDate data  = LocalDate.now().plusDays(±X);

例如
获取前一天的日期

LocalDate data  = LocalDate.now().plusDays(-1);
获取后一天的日期
LocalDate data  = LocalDate.now().plusDays(+1);

6.获取本周周一的日期

LocalDate today = LocalDate.now();
LocalDate firstDay = today.with(DayOfWeek.MONDAY);

7.获取本月第一天的日期

LocalDate today = LocalDate.now();
LocalDate firstDay = today.with(TemporalAdjusters.firstDayOfMonth());

8.获取本月的总天数

LocalDate today = LocalDate.now();
int TotalDays = today.withMonth(today.getMonthValue()).lengthOfMonth();

9.获取当前年份的第一天

LocalDate today = LocalDate.now();
LocalDate firsDay = today.with(TemporalAdjusters.firstDayOfYear());

10.LocalDate和String相互转换

LocalDate转String

DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate today = LocalDate.now();
String dateStr = today.format(df);

String转LocalDate

DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String str = "2020-01-01";
LocalDate date = LocalDate.parse(str, fmt);

11.获取两个时间间隔中的每一天

List<String> list = new ArrayList<>();
long distance = ChronoUnit.DAYS.between(startDate, endDate);  #传入开始时间和结束时间
if (distance < 1) {
	return list;
}
Stream.iterate(startDate, d -> d.plusDays(1)).limit(distance + 1).forEach(f -> list.add(f.toString()));
return list;

12.比较两个日期的大小

判断localDate1是否和localDate2相等,返回布尔值

boolean equal = localDate1.isEqual(localDate2);  

判断localDate1是否在localDate2之前,返回布尔值

boolean before = localDate1.isBefore(localDate2);

判断localDate1是否在localDate2之后,返回布尔值

boolean after = localDate1.isAfter(localDate2);

13.两个时间间隔天数

LocalDate date1 = LocalDate.of(2022, 4, 30);
LocalDate date2 = LocalDate.of(2022, 4, 21);
int countdown = Math.toIntExact(date1.toEpochDay() - date2.toEpochDay());

二、LocalDateTime

提示:LocalDate和LocalDateTime API相似

1.获取当前时间

LocalDateTime today = LocalDateTime.now();

2.获取当前时间年、月、日、时、分、秒

LocalDateTime today = LocalDateTime.now();
int year = today.getYear();  			#年
int month = today.getMonthValue();  	#月
int day = today.getDayOfMonth();   	    #日
int hour = today.getHour();				#时
int minute = today.getMinute();			#分
int second = today.getSecond();			#秒

3.LocalDateTime和String相互转换

LocalDateTime转String

DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime today = LocalDateTime.now();
String format = today.format(df);

String转LocalDateTime

DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String str = "2020-01-01 11:11:11";
LocalDateTime data = LocalDateTime.parse(str, df);

获取今年第一天及最后一天

LocalDateTime firstDayOfYear = LocalDateTime.of(LocalDate.from(LocalDateTime.now().with(TemporalAdjusters.firstDayOfYear())), LocalTime.MIN);
LocalDateTime lastDayOfYear = LocalDateTime.of(LocalDate.from(LocalDateTime.now().with(TemporalAdjusters.lastDayOfYear())), LocalTime.MAX);
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
LocalDateTime API提供了一组用于处理日期和时间的方法。它可以用来获取特定日期和时间的实例,进行日期和时间的计算和操作,以及进行不同日期和时间格式的转换。在这里,我提供了几个常用的用法: 1. 获取今年的第一天和最后一天: - 使用`TemporalAdjusters.firstDayOfYear()`和`TemporalAdjusters.lastDayOfYear()`方法,可以获取今年的第一天和最后一天的`LocalDateTime`实例。 - 示例代码: ```java LocalDateTime firstDayOfYear = LocalDateTime.of(LocalDate.from(LocalDateTime.now().with(TemporalAdjusters.firstDayOfYear())), LocalTime.MIN); LocalDateTime lastDayOfYear = LocalDateTime.of(LocalDate.from(LocalDateTime.now().with(TemporalAdjusters.lastDayOfYear())), LocalTime.MAX); ``` 2. 获取当天的最后时间: - 使用`LocalDateTime`类的`of()`方法,可以将当前日期和`LocalTime.MAX`(即当天的最后时间)组合成一个`LocalDateTime`实例。 - 示例代码: ```java LocalDateTime now = LocalDateTime.now(); LocalDateTime maxOfDay = LocalDateTime.of(now.toLocalDate(), LocalTime.MAX); ``` 3. 获取当天的零点: - 使用`LocalDateTime`类的`of()`方法,可以将当前日期和`LocalTime.MIN`(即当天的零点)组合成一个`LocalDateTime`实例。 - 示例代码: ```java LocalDateTime now = LocalDateTime.now(); LocalDateTime minDay = LocalDateTime.of(now.toLocalDate(), LocalTime.MIN); ``` 总结一下,`LocalDateTime` API提供了一些方便的方法来处理日期和时间,包括获取特定日期和时间的实例,进行日期和时间的计算和操作,以及进行不同日期和时间格式的转换。以上是其中一些常用的用法。 <span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值