Java8常用时间方法(LocalDateTime操作)

Java8常用时间方法(LocalDateTime操作)

import java.time.Duration;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.Period;
import java.time.format.DateTimeFormatter;

public class java8Time {
    public static void main(String[] args) {
        //现在时间
        System.out.println("----------------现在时间------------------");
        System.out.println(LocalDateTime.now());
        //格式化
        System.out.println("----------------格式化------------------");
        System.out.println(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
        //减10s
        System.out.println("-----------------减10s-----------------");
        System.out.println(LocalDateTime.now().minusSeconds(10).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
        //加10s
        System.out.println("------------------加10s----------------");
        System.out.println(LocalDateTime.now().minusSeconds(-10).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
        //减10个小时
        System.out.println("------------------减10个小时----------------");
        System.out.println(LocalDateTime.now().minusHours(10).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
        //减10分钟
        System.out.println("------------------减10分钟----------------");
        System.out.println(LocalDateTime.now().minusMinutes(10).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
        //减两周
        System.out.println("------------------减两周----------------");
        System.out.println(LocalDateTime.now().minusWeeks(2).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
        //减两年
        System.out.println("------------------减两年----------------");
        System.out.println(LocalDateTime.now().minusYears(2).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
        //构建一个时间
        System.out.println("------------------构建一个时间----------------");
        System.out.println(LocalDateTime.of(2021, 1, 1, 1, 1, 1, 1));

        //加10s
        System.out.println("-----------------加10s-----------------");
        System.out.println(LocalDateTime.now().plusSeconds(10).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
        //加10个小时
        System.out.println("------------------加10个小时----------------");
        System.out.println(LocalDateTime.now().plusHours(10).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
        //加10分钟
        System.out.println("------------------加10分钟----------------");
        System.out.println(LocalDateTime.now().plusMinutes(10).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
        //加两周
        System.out.println("------------------加两周----------------");
        System.out.println(LocalDateTime.now().plusWeeks(2).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
        //加两年
        System.out.println("------------------加两年----------------");
        System.out.println(LocalDateTime.now().plusYears(2).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
        //修改小时
        System.out.println("------------------修改小时--------------------");
        System.out.println(LocalDateTime.now().withHour(20));

        //修改年份
        System.out.println("------------------修改年份--------------------");
        System.out.println(LocalDateTime.now().withYear(2018));
        //时间比较
        System.out.println("---------------------时间比较----Duration----------------");
        //毫秒
        System.out.println(Duration.between(LocalDateTime.now(), LocalDateTime.now().plusSeconds(360000)).toMillis());
        //分钟
        System.out.println(Duration.between(LocalDateTime.now(), LocalDateTime.now().plusSeconds(360000)).toMinutes());
        //小时
        System.out.println(Duration.between(LocalDateTime.now(), LocalDateTime.now().plusSeconds(360000)).toHours());
        //天
        System.out.println(Duration.between(LocalDateTime.now(), LocalDateTime.now().plusSeconds(360000)).toDays());


        System.out.println("-------------------------Period-------------------------");
        LocalDate localDate = LocalDate.of(2021, 1, 1);
        //毫秒
        System.out.println(Period.between(localDate, localDate.plusDays(2)).getDays());
        System.out.println(Period.between(localDate, localDate.plusDays(2)).getMonths());
        System.out.println(Period.between(localDate, localDate.plusDays(2)).getYears());

        System.out.println("---------------判断两个时间前后----------------------");
        LocalDateTime a = LocalDateTime.of(2012, 6, 30, 12, 00);
        LocalDateTime b = LocalDateTime.of(2012, 7, 1, 12, 00);
        boolean after = a.isAfter(b);
        boolean before = a.isBefore(b);
        System.out.println(after);
        System.out.println(before);


    }

}

运行结果



----------------现在时间------------------
2021-07-20T10:34:07.562
----------------格式化------------------
2021-07-20 10:34:07
-----------------10s-----------------
2021-07-20 10:33:57
------------------10s----------------
2021-07-20 10:34:17
------------------10个小时----------------
2021-07-20 00:34:07
------------------10分钟----------------
2021-07-20 10:24:07
------------------减两周----------------
2021-07-06 10:34:07
------------------减两年----------------
2019-07-20 10:34:07
------------------构建一个时间----------------
2021-01-01T01:01:01.000000001
-----------------10s-----------------
2021-07-20 10:34:17
------------------10个小时----------------
2021-07-20 20:34:07
------------------10分钟----------------
2021-07-20 10:44:07
------------------加两周----------------
2021-08-03 10:34:07
------------------加两年----------------
2023-07-20 10:34:07
------------------修改小时--------------------
2021-07-20T20:34:07.580
------------------修改年份--------------------
2018-07-20T10:34:07.580
---------------------时间比较----Duration----------------
360000000
6000
100
4
-------------------------Period-------------------------
2
0
ISO
0
---------------判断两个时间前后----------------------
false
true
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LocalDateTimeJava 8中引入的新的日期时间API,用于表示不带时区的日期和时间。它提供了更加直观和易用的日期时间操作方法,相比之前的Date和Calendar类,使用起来更加方便。 LocalDateTime的主要特点如下: 1. 不可变:LocalDateTimeLocalDate、LocalTime都是不可变对象,修改这些对象会返回一个新的副本,而不是在原对象上修改。 2. 带时区信息:LocalDateTime包含了年、月、日、时、分、秒、纳秒等信息,同时还带有时区信息,可以精确到毫秒级别。 3. 日期时间转换:LocalDateTime提供了丰富的方法来进行日期时间的转换,例如将LocalDateTime转换为Date、String等。 4. 日期时间操作LocalDateTime提供了丰富的方法来进行日期时间的加操作,例如加上或去天数、小时数、分数等。 以下是一些常用LocalDateTime操作示例: ```java import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public class LocalDateTimeDemo { public static void main(String[] args) { // 获取当前时间 LocalDateTime now = LocalDateTime.now(); System.out.println("当前时间:" + now); // 格式化时间 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); String formattedNow = now.format(formatter); System.out.println("格式化后的时间:" + formattedNow); // 日期时间操作 LocalDateTime tomorrow = now.plusDays(1); System.out.println("明天的时间:" + tomorrow); LocalDateTime yesterday = now.minusDays(1); System.out.println("昨天的时间:" + yesterday); LocalDateTime sameDay = now.withHour(12).withMinute(0).withSecond(0); System.out.println("中午12点整的时间:" + sameDay); } } ```<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值