Java8 日期时间 —— LocalDate —— 年月日
2016-12-21 00:00
453 查看
摘要: Java8 日期时间 —— LocalDate —— 年月日
#一、简介
#二、获取 LocalDate 的方法
##1.获取当前的日期 LocalDate
##3.根据某年的第n天获取 LocalDate
##4.从时间纪元(1970年1月1日)开始第n天(负数表示在时间纪元前n天)获取 LocalDate
#三、获取的数据
#四、运算
##1.加法
##2.减法
##3.替换
##五、判断
#一、简介
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());
相关文章推荐
- Spring Boot和Feign中使用Java 8时间日期API(LocalDate等)的序列化问题
- Java 8---LocalDate,LocalTime处理日期时间
- LocalDate LocalTime LocalDateTime DateTimeFormatter Java 8 新出的时间(time)和日期(date)的API的使用详细实例
- 解决Spring Boot和Feign中使用Java 8时间日期API(LocalDate等)的序列化问题
- 如何在java8中愉快地处理日期和时间java8新增了localdate和localtim
- java8 时间/日期 localDateTime比较,获取年月日时分秒
- JAVA----日期获取LocalDate(时间如此类似)
- java 日期/时间运算(LocalDate/Time)
- Java的日期与时间(十二)java.time.LocalDate
- Java 8---LocalDate,LocalTime处理日期时间
- Java 使用jdk8的新特性LocalDate和LocalDateTime 实现当前时间,日期加减,是否闰年,时间戳,时间线程每秒改变一次
- java.util.Date_与_java.sql.Date互转_及_字符串转换为日期时间格式
- java.util.Date_与_java.sql.Date互转_及_字符串转换为日期时间格式
- java方法,返回两个日期内的所有date集合,根据开始时间、结束时间得到两个时间段内所有的日期
- Java基础之一组有用的类——生成日期和时间(TryDateFormats)
- java.util.Date 与 java.sql.Date互转 及 字符串转换为日期时间格式
- 关于日期时间操作工具类DateUtil(一)-----对java.util.Date 的操作.
- Java 日期时间 Date类型,long类型,String类型表现形式的转换
- Java 日期时间 Date类型,long类型,String类型表现形式的转换
- java Calendar DateFormat 时间 日期 月份 格式化 第一天 最后一天