JAVA 8 推出了全新的日期时间API,在教程中我们将通过一些简单的实例来学习如何使用新API 。
Java处理日期、日历和时间的方式一直为社区所诟病,将 java.util.Date设定为可变类型,以及SimpleDateFormat的非线程安全使其应用非常受限 。
新API基于ISO标准日历系统,java.time包下的所有类都是不可变类型而且线程安全 。
文章插图
示例1:Java 8中获取今天的日期Java 8 中的 LocalDate 用于表示当天日期 。和java.util.Date不同,它只有日期,不包含时间 。当你仅需要表示日期时就用这个类 。
package com.shxt.demo02;import java.time.LocalDate;public class Demo01 { public static void main(String[] args) { LocalDate today = LocalDate.now(); System.out.println("今天的日期:"+today); }}
示例2:Java 8中获取年、月、日信息package com.shxt.demo02;import java.time.LocalDate;public class Demo02 { public static void main(String[] args) { LocalDate today = LocalDate.now(); int year = today.getYear(); int month = today.getMonthValue(); int day = today.getDayOfMonth(); System.out.println("year:"+year); System.out.println("month:"+month); System.out.println("day:"+day); }}
示例3:Java 8中处理特定日期我们通过静态工厂方法now()非常容易地创建了当天日期,你还可以调用另一个有用的工厂方法LocalDate.of()创建任意日期,该方法需要传入年、月、日做参数,返回对应的LocalDate实例 。这个方法的好处是没再犯老API的设计错误,比如年度起始于1900,月份是从0开 始等等 。package com.shxt.demo02;import java.time.LocalDate;public class Demo03 { public static void main(String[] args) { LocalDate date = LocalDate.of(2018,2,6); System.out.println("自定义日期:"+date); }}
示例4:Java 8中判断两个日期是否相等package com.shxt.demo02;import java.time.LocalDate;public class Demo04 { public static void main(String[] args) { LocalDate date1 = LocalDate.now(); LocalDate date2 = LocalDate.of(2018,2,5); if(date1.equals(date2)){ System.out.println("时间相等"); }else{ System.out.println("时间不等"); } }}
示例5:Java 8中检查像生日这种周期性事件package com.shxt.demo02;import java.time.LocalDate;import java.time.MonthDay;public class Demo05 { public static void main(String[] args) { LocalDate date1 = LocalDate.now(); LocalDate date2 = LocalDate.of(2018,2,6); MonthDay birthday = MonthDay.of(date2.getMonth(),date2.getDayOfMonth()); MonthDay currentMonthDay = MonthDay.from(date1); if(currentMonthDay.equals(birthday)){ System.out.println("是你的生日"); }else{ System.out.println("你的生日还没有到"); } }}
只要当天的日期和生日匹配,无论是哪一年都会打印出祝贺信息 。你可以把程序整合进系统时钟,看看生日时是否会受到提醒,或者写一个单元测试来检测代码是否运行正确 。
推荐阅读
- 干雪莲花的食用方法,常用的花草茶有哪些
- 面膜|2022十大平价超级好用的面膜: 韩伊橄榄第8
- 云南金边玫瑰花茶的功效以及适用的人群,玫瑰花茶泡水喝的功效
- 适合夏天用的隔离霜有哪些
- 孕妇禁用的中药有哪些
- |2022年补水面膜哪个牌子效果好?真实好用的补水面膜排行榜10强
- 可食用的玫瑰花品种,玫瑰花茶泡水喝的功效
- 玫瑰茄的食用方法,常用的花草茶有哪些
- 分享几个简单实用的局域网共享设置工具
- 10 篇对初学者和专家都有用的 Linux 命令教程