在JAVA中,常用的处理日期和时间的类主要有Date,Calendar,而在JDK1.8中,新增两个处理日期和时间的类,即LocalDate,LocalDataeTime下面我来介绍一下这两个类中常用方法的用法。
(1)获取当前日期:
//获取当前日期
LocalDate now = LocalDate.now();
System.err.println("当前日期:"+now);
//打印:
当前日期:2019-06-06
(2)将时间格式的字符串转换为localDate对象:
// 将时间格式的字符转换为localDate对象
String str ="2008-02-02";
LocalDate localDate = LocalDate.parse(str, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
System.err.println(localDate);
//打印
2008-02-02
(3)调用of(int year,int month,int day)方法,直接将年、月、日作为参数来创建一个localdate对象:
LocalDate localDate1 = LocalDate.of(2019, 3, 15);
System.err.println(localDate1);
//打印:
2019-03-15
(4)获取指定日期所在月的第一个周一,如果1号不是周一,就往上个月推,取上个月的最后一个周一:
String str ="2019-05-01";
LocalDate localDate = LocalDate.parse(str, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
LocalDate monday = localDate.with(DayOfWeek.MONDAY);
System.err.println(“(可能跨月)该年月的第一个周一为:”+monday);
//打印:
(可能跨月)该年月的第一个周一为:2019-04-29`
如果不跨月,就只取本月的第一个周一:</