Java LocalDate

获取LocalDate

1.获取当前的日期 LocalDate

LocalDate now = LocalDate.now();

2.根据年月日的值获取 LocalDate

LocalDate.of(2016, 11, 30);

3.根据某年的第n天获取 LocalDate

LocalDate.ofYearDay(2016, 300)

4.从时间纪元(1970年1月1日)开始第n天(负数表示在时间纪元前n天)获取 LocalDate

LocalDate.ofEpochDay(365); 

5.获取固定日期格式

LocalDate date = LocalDate.parse("2019-08-01", DateTimeFormatter.ofPattern("yyyy-MM-dd"));

6.转时间戳

Long timestamp = LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli();

7.时间戳转换成LocalDateTime

Long timestamp = LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli();
LocalDateTime time2 =LocalDateTime.ofEpochSecond(timestamp/1000,0,ZoneOffset.ofHours(8));

操作LocalDate

LocalDate.now().getYear(); // 年份  
LocalDate.now().getMonthValue(); // 月份(数值表示, 从1开始)  
LocalDate.now().getMonth(); // 月份(英文[enum]表示)  
LocalDate.now().getDayOfMonth(); // 日期(从1开始)  
LocalDate.now().getDayOfYear(): // 当天所在这一年的第几天(从1开始)  
LocalDate.now().getDayOfWeek(); // 星期几  
LocalDate.now().lengthOfYear(); // 当年的天数  
LocalDate.now().lengthOfMonth(); //当月的天数  
LocalDate.now().toEpochDay(); // 与时间纪元(1970年1月1日)相差的天数,负数表示在时间纪元之前多少天 

LocalDate运算

1.加法

System.out.println("加法运算");  
System.out.println("当前:" + LocalDate.now());  
System.out.println("加5分钟:" + LocalDateTime.now().plusMinutes(5));  
System.out.println("加1天:" + LocalDate.now().plusDays(1));  
System.out.println("加1周:" + LocalDate.now().plusWeeks(1));  
System.out.println("加1月:" + LocalDate.now().plusMonths(1));  
System.out.println("加1年:" + LocalDate.now().plusYears(1)); 

2.减法

System.out.println("减法运算");  
System.out.println("当前:" + LocalDate.now());  
System.out.println("减5分钟:" + LocalDateTime.now().minusMinutes(5));
System.out.println("减1天:" + LocalDate.now().minusDays(1));  
System.out.println("减1周:" + LocalDate.now().minusWeeks(1));  
System.out.println("减1月:" + LocalDate.now().minusMonths(1));  
System.out.println("减1年:" + LocalDate.now().minusYears(1));

3.替换

所有的数值必须合法;
	如果当月当天是闰年229日,替换年份为非闰年,则会变成228日;

	System.out.println("当前:" + LocalDate.now());  
	System.out.println("替换日期为1:" + LocalDate.now().withDayOfMonth(1));  
	System.out.println("替换天数为1:" + LocalDate.now().withDayOfYear(1));  
	System.out.println("替换月份为1:" + LocalDate.now().withMonth(1));  
	System.out.println("替换年份为1:" + LocalDate.now().withYear(1));

LocalDate判断

System.out.println("当天:" + LocalDate.now());  
System.out.println("是否在当天之前:" + LocalDate.now().minusDays(1).isBefore(LocalDate.now()));  
System.out.println("是否在当天之后:" + LocalDate.now().plusDays(1).isAfter(LocalDate.now()));  
System.out.println("是否在当天:" + LocalDate.now().isEqual(LocalDate.now()));  
System.out.println("今年是否是闰年:" + LocalDate.now().isLeapYear());

LocalDate转换

localDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));

TemporalAdjusters获取当前月的第一天和最后一天

LocalDate date = LocalDate.now();
LocalDate firstDay = date.with(TemporalAdjusters.firstDayOfMonth()); // 获取当前月的第一天
LocalDate lastDay = date.with(TemporalAdjusters.lastDayOfMonth()); // 获取当前月的最后一天
System.out.println(date);
System.out.println(firstDay);
System.out.println(lastDay);
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值