博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java8 日期时间 —— LocalDate —— 年月日
阅读量:5906 次
发布时间:2019-06-19

本文共 2463 字,大约阅读时间需要 8 分钟。

hot3.png

#一、简介

LocalDate 只包含了年月日的信息,不包含时间和时区。	LocalDate 重写了 toString() 方法,一般的格式为 "yyyy-MM-dd"。	LocalDate 为不可变 class,任何对 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);

#三、获取的数据

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日)相差的天数,负数表示在时间纪元之前多少天

#四、运算

可以对年、月、日、周进行加减法运算:	如果加(或减)日期超过当月的最大天数(或小于等于0)则月份对应增加(或减少);	如果加(或减)月份超过12(或小于等于0)则年份对应增加(或减少);	加减周数其实是对日期(天数)的加减;

##1.加法

System.out.println("加法运算");  	System.out.println("当前:" + LocalDate.now());  	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("减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.替换

所有的数值必须合法;	如果当月当天是闰年2月29日,替换年份为非闰年,则会变成2月28日;	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());

转载于:https://my.oschina.net/mcyy568/blog/809608

你可能感兴趣的文章
内置对象Array的原型对象中添加方法
查看>>
6大设计原则
查看>>
Github简介
查看>>
CISCO2691的OSPF点对点密文测评测试
查看>>
POJ 1661 Help Jimmy(递推DP)
查看>>
Node.js 中文学习资料和教程导航
查看>>
查找(AVL平衡二叉树)
查看>>
AJAX-初学AJAX本地环境配置
查看>>
【精选】Nginx负载均衡学习笔记(一)实现HTTP负载均衡和TCP负载均衡(官方和OpenResty两种负载配置)...
查看>>
Linux常用基本命令( rmdir, rm, mv )
查看>>
POJ2406 Power Strings(KMP)
查看>>
JavaScript-console的使用_016
查看>>
两种方式设置iframe的高度区别
查看>>
Iterator 和 for...of 循环
查看>>
关于iOS 11.x微信连wifi流程中,在Portal页无法拉起微信问题的简单记录
查看>>
Python GUI库wxPython官网Hello World示例的逐行解释
查看>>
RE·WORK 巅峰对话:深度学习将彻底改变医疗健康领域
查看>>
Codeforces Round #442 (Div. 2) A B
查看>>
极值问题(acms)
查看>>
swift UI专项训练8 展示数据
查看>>