6.2、本地日期的使用。
package xyz.jangle.javabase.n6.b1;
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.Month;
import java.time.Period;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* 本地日期的使用(年-月-日)
* @author jangle
* @email jangle@jangle.xyz
* @time 2021年2月15日 上午11:50:27
*
*/
public class M2 {
public static void main(String[] args) {
// 获取本地日期
LocalDate today = LocalDate.now();
System.out.println(today);
// 给定年月日,产生一个本地日期
LocalDate localDate = LocalDate.of(1991, 2, 1);
localDate = LocalDate.of(1991, Month.FEBRUARY, 1);
System.out.println(localDate);
// 按日增加365天,按年增加1年的比较(闰年会有区别)
LocalDate plusDays = LocalDate.of(2020, 2, 15).plusDays(365);
LocalDate plusYears = LocalDate.of(2020, 2, 15).plusYears(1);
System.out.println("plusDay:"+plusDays+"----- plusYears:"+plusYears);
// 按月增加与减少(会自动处理每月的最大值)
LocalDate minusMonths = LocalDate.of(2016, 3, 31).minusMonths(1);
LocalDate plusMonths = LocalDate.of(2016, 1, 31).plusMonths(1);
System.out.println("minusMonths:"+minusMonths+"-plusMonths:"+plusMonths);
// 星期:查询指定日期是星期几
DayOfWeek dayOfWeek = LocalDate.of(2021, 2, 15).getDayOfWeek();
System.out.println(dayOfWeek);
// 步长:查询指定日期到另一个指定日期之间的日期,其中步长尺寸是给定的Period。
LocalDate start = LocalDate.of(2000, 1, 1);
LocalDate now = LocalDate.now();
Stream<LocalDate> datesUntil = start.datesUntil(now,Period.ofMonths(1));
System.out.println(""+datesUntil.collect(Collectors.toList()));
datesUntil = start.datesUntil(now,Period.ofMonths(2));
System.out.println(""+datesUntil.collect(Collectors.toList()));
datesUntil = start.datesUntil(now,Period.ofYears(2));
System.out.println(""+datesUntil.collect(Collectors.toList()));
}
}