自己学习中的知识点(2)---jdk8 时间新特性

来源:互联网 发布:mac系统 文件权限 编辑:程序博客网 时间:2024/06/08 16:30

自己学到的知识点,相当于笔记,若有问题,欢迎指出

获取当前时间及当前的年,月,日
LocalDate today= LocalDate.now();
int year = today.getYear();
int month = today.getMonthValue();
int day = today.getDayOfMonth();

获取某个特定时间
LocalDate ofEpochDay = LocalDate.of(2017, 01, 02);

获取某一时间所在周周一(也可获取一周内的任一天,1是代表周一,依次类推)
LocalDate days = 时间;
TemporalField fieldISO1 = WeekFields.of(Locale.FRANCE).dayOfWeek();
LocalDate monday = days.with(fieldISO1, 1);

将java.util.Date类型转换为LocalDate类型
Date times = new Date();
Instant instant = times.toInstant();
ZoneId zone = ZoneId.systemDefault();
LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone);
LocalDate localDate = localDateTime.toLocalDate();

将LocalDate类型转换为java.util.Date类型
LocalDate localDate= LocalDate.now();
ZoneId zone = ZoneId.systemDefault();
Instant instant = localDate.atStartOfDay().atZone(zone).toInstant();
Date date = Date.from(instant);

两个日期之间相隔多久
LocalDate localDate= LocalDate.now();
LocalDate ofEpochDay = LocalDate.of(2017, 01, 02);
// 相隔天
int days = (int)ChronoUnit.DAYS.between(ofEpochDay, localDate);
// 相隔月
int months = (int)ChronoUnit.MONTHS.between(ofEpochDay, localDate);
//相隔年
int months = (int)ChronoUnit.YEARS.between(ofEpochDay, localDate);

获取多久后的日期
LocalDate today= LocalDate.now();
// 一周后的
LocalDate nextWeek = today.plus(1, ChronoUnit.WEEKS);
//一年后的
LocalDate nextYear = today.plus(1, YEARS);
//一年前的
LocalDate previousYear = today.minus(1, ChronoUnit.YEARS);

0 0