Java8 的时间函数新特性 LocalDate和LocalDateTime(三)

public class Test5 {
    public static void date() {
        // 创建指定的日期
        LocalDate localDate = LocalDate.of(2019, 9, 11);
        System.out.println(localDate);

        // 获取指定的年月日
        System.out.println(localDate.getYear());
        // 不写 getValue 获取岛的就是英文的月份名称
        System.out.println(localDate.getMonth().getValue());
        System.out.println(localDate.getDayOfMonth());
        // 判断一下是不是闰年
        System.out.println(localDate.isLeapYear());
        System.out.println("****************************************************");

        // 获取当前的日期
        LocalDate date = LocalDate.now();
        System.out.println(date);
        // 获取对应的年月日 TemporalField 使用TemporalField读取LocalDate的值
        System.out.println(date.get(ChronoField.YEAR));
        System.out.println(date.get(ChronoField.MONTH_OF_YEAR));
        System.out.println(date.get(ChronoField.DAY_OF_MONTH));

        System.out.println("****************************************************");

        // 指定时间创建
        LocalTime localTime = LocalTime.of(10, 10, 22);
        System.out.println(localTime);

        System.out.println("****************************************************");

        // 通过解析字符串新建
        LocalDate localDate1 = LocalDate.parse("2029-10-10");
        System.out.println(localDate1);

        LocalTime localTime1 = LocalTime.parse("18:10:58");
        System.out.println(localTime1);

        System.out.println("****************************************************");

        // LocalDateTime 带有了时区信息   2019-10-20T18:10:58
        LocalDateTime dt1 = LocalDateTime.of(2019, 10, 20, 18, 10, 58);
        System.out.println(dt1);

        // 原有时间上加上两个小时
        OffsetDateTime date1 = dt1.atOffset(ZoneOffset.ofHours(2));
        System.out.println(date1);

        // 获取所在的时区
        System.out.println(ZoneId.systemDefault());
        System.out.println(ZoneId.systemDefault().getRules());
        System.out.println("****************************************************");

        // 取本月第一天
        LocalDate firstMonthDay = date.with(TemporalAdjusters.firstDayOfMonth());
        System.out.println(firstMonthDay);

        // 取出本月的第二天
        LocalDate secondMonthDay = date.withDayOfMonth(2);
        System.out.println(secondMonthDay);

        // 取出本月的最后一天
        LocalDate lastMonthDay = date.with(TemporalAdjusters.lastDayOfMonth());
        System.out.println(lastMonthDay);

        // 取出下一天的时间
        LocalDate nextMonthDay = lastMonthDay.plusDays(1);
        System.out.println(nextMonthDay);

        // 取2017年1月第一个周一
        LocalDate specifiedMonthDay = LocalDate.parse("2017-01-01").with(TemporalAdjusters.firstInMonth(DayOfWeek.MONDAY));
        System.out.println(specifiedMonthDay);

        // 取出当前日期的前一天
        LocalDate previousMonthDay = date.minusDays(1);
        System.out.println(previousMonthDay);
    }

    public static void main(String[] args) {
        date();
    }
}

欢迎关注我的微信公众号,更多内容将在微信公众号中发布:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值