作者:微信小助手
发布时间:2018-12-24T21:04:28
源 / Java团长
在Java8之前的版本中,我们处理时间类型常常使用的是java.util包下的Date类。
但使用Date类却有诸多的弊端,如:java.util.Date是非线程安全的,所有的日期类都是可变的;日期/时间类的定义并不一致,在java.util和java.sql的包下都含有Date类,在开发过程中极易出错; 日期类并不提供国际化,没有时区支持。
为了解决以上问题,Java8在java.time包下提供了很多新的API,常用的类包括LocalDate、LocalTime、LocalDateTime,用以处理日期,时间,日期/时间等
LocalDate是一个不可变类,在不考虑时区的情况下可以对日期(不包括时间)进行各种操作,它的默认格式是yyyy-MM-dd
获取当前日期以及年、月、日
代码示例:
//获取当前日期以及年、月、日
LocalDate localDate = LocalDate.now();
int year = localDate.getYear();
int month = localDate.getMonthValue();
int day = localDate.getDayOfMonth();
System.out.println("当前日期:" + localDate);
System.out.println("年:" + year + " 月:" + month + " 日:" + day);
运行结果:
当前日期:2018-12-12
年:2018 月:12 日:12
获取指定的日期
代码示例:
//获取指定的日期
LocalDate specifiedDay = LocalDate.of(2008, 8, 18);
System.out.println("指定日期:" + specifiedDay);
运行结果: