java8 LocalDateTime-API

// LocalDateTime是一个不可变的日期时间对象,代表日期时间,通常被视为年 - 月 - 日 - 时 - 分 - 秒。
// 也可以访问其他日期和时间字段,例如日期,星期几和星期。 时间表示为纳秒精度。
// 例如,值“2007年10月2日在13:45.30.123456789”可以存储在LocalDateTime 。

    // 当前系统时间 从默认时区的系统时钟获取当前的日期时间。
    LocalDateTime now = LocalDateTime.now();
    //2021-10-12T08:57:28.296
    System.out.println(now);

    // 自定义日期时间 可以 LocalDateTime.of 有多种重载
    LocalDateTime now1 = LocalDateTime.of(2020, 11, 10, 13, 30, 30);
    System.out.println(now1); //2020-11-10T13:30:30
    // 两个日期的对比
    System.out.println(now.compareTo(now1)); //1
    // 判断两个日期是否相等
    System.out.println(now.equals(now1)); //false
    // 格式化日期时间
    System.out.println(now.format(DateTimeFormatter.ISO_DATE)); //2021-10-12
    //获取日 在当前月是第几天
    System.out.println(now1.getDayOfMonth()); //10
    // 获取当前日 是周几
    System.out.println(now1.getDayOfWeek()); //TUESDAY
    // 获取当前日在今年是第多少天
    System.out.println(now1.getDayOfYear()); //315

    // 获取时
    System.out.println(now1.getHour()); //30
    // 获取分
    System.out.println(now1.getMinute());
    // 获取秒
    System.out.println(now1.getSecond()); //30
    //获取年份字段。
    System.out.println(now1.getYear()); //2020
    // 使用 Month枚举获取月份字段。
    System.out.println(now1.getMonth()); //NOVEMBER
    // 获取当前日期的月份 数字 1到12
    System.out.println(now1.getMonthValue());  //11
    // 获取纳秒
    System.out.println(now1.getNano());
    // 判断日期1是否在日期2后面
    System.out.println(now.isAfter(now1)); //true
    //判断日期1 是否在日期2前面
    System.out.println(now.isBefore(now1));//false
    // 判断两个日期是否相等
    System.out.println(now1.isEqual(now)); //false

    System.out.println(now1); //2020-11-10T13:30:30


    //在小时上增加或者减少指定的时长 负数增加
    System.out.println(now1.minusHours(10)); //2020-11-10T03:30:30
    System.out.println(now1.minusHours(-10)); //2020-11-10T23:30:30

    //在分钟上增加或者减少指定的分钟,负数增加
    System.out.println(now1.minusMinutes(10)); //2020-11-10T13:20:30
    System.out.println(now1.minusMinutes(-10)); //2020-11-10T13:40:30

    // 在秒上增加或者减少指定的秒数 负数增加
    System.out.println(now1.minusSeconds(10)); //2020-11-10T13:30:20
    System.out.println(now1.minusSeconds(-10)); //2020-11-10T13:30:40

    // 在日期上增加或者减少指定的天数 负数增加
    System.out.println(now1.minusDays(3));  //2020-11-07T13:30:30
    System.out.println(now1.minusDays(-3)); //2020-11-13T13:30:30

    //在月份上增加或者减少指定的月 负数增加
    System.out.println(now1.minusMonths(1)); //2020-10-10T13:30:30
    System.out.println(now1.minusMonths(-1)); //2020-12-10T13:30:30

    // 在年份上增加或者减少年份 负数增加
    System.out.println(now1.minusYears(1)); //2019-11-10T13:30:30
    System.out.println(now1.minusYears(-1)); //2021-11-10T13:30:30

    // 在周期上增加或者减少指定的周数 负数增加
    System.out.println(now1.minusWeeks(3)); //2020-10-20T13:30:30
    System.out.println(now1.minusWeeks(-3)); //2020-12-01T13:30:30

    // 在纳秒上增加或者减少指定的纳秒数  负数增加
    System.out.println(now1.minusNanos(50000)); //2020-11-10T13:30:29.999950
    System.out.println(now1.minusNanos(-50000)); //2020-11-10T13:30:30.000050

    //在小时上增加或者减少指定的时长
    System.out.println(now1.plusSeconds(10)); //2020-11-10T13:30:40
    System.out.println(now1.plusSeconds(-10)); //2020-11-10T13:30:20

    //在分钟上增加或者减少指定的分钟,
    System.out.println(now1.plusMinutes(10)); //2020-11-10T13:40:30
    System.out.println(now1.plusMinutes(-10)); //2020-11-10T13:20:30

    // 在秒上增加或者减少指定的秒数
    System.out.println(now1.plusHours(10)); //2020-11-10T23:30:30
    System.out.println(now1.plusHours(-10)); //2020-11-10T03:30:30

    // 在日期上增加或者减少指定的天数 负数增加
    System.out.println(now1.plusDays(3));  //2020-11-13T13:30:30
    System.out.println(now1.plusDays(-3)); //2020-11-07T13:30:30

    //在月份上增加或者减少指定的月
    System.out.println(now1.plusMonths(1)); //2020-12-10T13:30:30
    System.out.println(now1.plusMonths(-1)); //2020-10-10T13:30:30

    // 在年份上增加或者减少年份
    System.out.println(now1.plusYears(1)); //2021-11-10T13:30:30
    System.out.println(now1.plusYears(-1)); //2019-11-10T13:30:30

    // 在周期上增加或者减少指定的周数
    System.out.println(now1.plusWeeks(3)); //2020-12-01T13:30:30
    System.out.println(now1.plusWeeks(-3)); //2020-10-20T13:30:30

    // 在纳秒上增加或者减少指定的纳秒数
    System.out.println(now1.plusNanos(50000));  //2020-11-10T13:30:30.000050
    System.out.println(now1.plusNanos(-50000)); //2020-11-10T13:30:29.999950

    //4位数年份,从右到左,不够用0替代 ,替换当前时间的年份
    System.out.println(now1.withYear(2001)); //2001-11-10T13:30:30
    // 替换当前月份 1-12
    System.out.println(now1.withMonth(5)); //2020-05-10T13:30:30
    //替换当前天
    System.out.println(now1.withDayOfMonth(1)); //2020-11-01T13:30:30
    // 替换当前小时 0到23直接
    System.out.println(now1.withHour(20)); //2020-11-10T20:30:30

    // 替换分钟
    System.out.println(now1.withMinute(59)); //2020-11-10T13:59:30
    // 替换秒数
    System.out.println(now1.withSecond(59)); //2020-11-10T13:30:59
    //替换纳秒
    System.out.println(now1.withNano(50000)); //2020-11-10T13:30:30.000050

    // 返回当前年份指定的天数日期
    System.out.println(now1.withDayOfYear(100)); //2020-04-09T13:30:30
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值