超实用的18个Java8日期处理的实践!建议收藏!( 二 )


示例6:Java 8中获取当前时间package com.shxt.demo02;import java.time.LocalTime;public class Demo06 {    public static void main(String[] args) {        LocalTime time = LocalTime.now();        System.out.println("获取当前的时间,不含有日期:"+time);    }}可以看到当前时间就只包含时间信息,没有日期
示例7:Java 8中获取当前时间通过增加小时、分、秒来计算将来的时间很常见 。Java 8除了不变类型和线程安全的好处之外,还提供了更好的plusHours()方法替换add(),并且是兼容的 。注意,这些方法返回一个全新的LocalTime实例,由于其不可变性,返回后一定要用变量赋值 。
package com.shxt.demo02;import java.time.LocalTime;public class Demo07 {    public static void main(String[] args) {        LocalTime time = LocalTime.now();        LocalTime newTime = time.plusHours(3);        System.out.println("三个小时后的时间为:"+newTime);    }}示例8:Java 8如何计算一周后的日期和上个例子计算3小时以后的时间类似,这个例子会计算一周后的日期 。LocalDate日期不包含时间信息,它的plus()方法用来增加天、周、月,ChronoUnit类声明了这些时间单位 。由于LocalDate也是不变类型,返回后一定要用变量赋值 。
package com.shxt.demo02;import java.time.LocalDate;import java.time.temporal.ChronoUnit;public class Demo08 {    public static void main(String[] args) {        LocalDate today = LocalDate.now();        System.out.println("今天的日期为:"+today);        LocalDate nextWeek = today.plus(1, ChronoUnit.WEEKS);        System.out.println("一周后的日期为:"+nextWeek);    }}可以看到新日期离当天日期是7天,也就是一周 。你可以用同样的方法增加1个月、1年、1小时、1分钟甚至一个世纪,更多选项可以查看Java 8 API中的ChronoUnit类
示例9:Java 8计算一年前或一年后的日期利用minus()方法计算一年前的日期
package com.shxt.demo02;import java.time.LocalDate;import java.time.temporal.ChronoUnit;public class Demo09 {    public static void main(String[] args) {        LocalDate today = LocalDate.now();        LocalDate previousYear = today.minus(1, ChronoUnit.YEARS);        System.out.println("一年前的日期 : " + previousYear);        LocalDate nextYear = today.plus(1, ChronoUnit.YEARS);        System.out.println("一年后的日期:"+nextYear);    }}示例10:Java 8的Clock时钟类Java 8增加了一个Clock时钟类用于获取当时的时间戳,或当前时区下的日期时间信息 。以前用到System.currentTimeInMillis()和TimeZone.getDefault()的地方都可用Clock替换 。
package com.shxt.demo02;import java.time.Clock;public class Demo10 {    public static void main(String[] args) {        // Returns the current time based on your system clock and set to UTC.        Clock clock = Clock.systemUTC();        System.out.println("Clock : " + clock.millis());        // Returns time based on system clock zone        Clock defaultClock = Clock.systemDefaultZone();        System.out.println("Clock : " + defaultClock.millis());    }}示例11:如何用Java判断日期是早于还是晚于另一个日期另一个工作中常见的操作就是如何判断给定的一个日期是大于某天还是小于某天?在Java 8中,LocalDate类有两类方法isBefore()和isAfter()用于比较日期 。调用isBefore()方法时,如果给定日期小于当前日期则返回true 。


推荐阅读