文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

LocalDateTime用法

2023-09-13 11:44

关注

1.使用LocalDateTime获取当前时间

这里我们只讲LocalDateTime时间的用法

1.1 获取当前时间

@Testpublic void now(){    LocalDateTime now = LocalDateTime.now(); // 获取当前时间    LocalDate now1 = LocalDate.now(); // 获取当前年月日(当前日期)    LocalTime now2 = LocalTime.now();// 获取当前时分秒(具体时间)    System.out.println(now);    System.out.println(now1);    System.out.println(now2);}

1.2 获取当前时间的年月日时分秒

   @Test    public void now1(){        LocalDateTime now = LocalDateTime.now(); // 获取当前时间        int year = now.getYear(); // 获取年份        int month = now.getMonthValue(); // 获取月份        int day = now.getDayOfMonth(); // 获取月中的天数        int hour = now.getHour(); // 获取当前的小时        int minute = now.getMinute(); // 获取当前分钟        int second = now.getSecond(); // 获取当前秒数        System.out.println(year);        System.out.println(month);        System.out.println(day);        System.out.println(hour);        System.out.println(minute);        System.out.println(second);    }

1.3 在当前时间基础上加上对应的时间

  @Test    public void now2(){        LocalDateTime now = LocalDateTime.now(); // 当前时间        LocalDateTime now1 = now.plusYears(5); // 在当前时间加上5年        LocalDateTime now2 = now.plusMonths(5);// 在当前时间商加上5月        LocalDateTime now3 = now.plusDays(7); // 在当前时间加上7天        LocalDateTime now4 = now.plusHours(2); // 在当前时间加上2个小时        LocalDateTime now5 = now.plusMinutes(30); // 在当前时间加上30分钟        LocalDateTime now6 = now.plusSeconds(30); // 在当前时间加上30秒        System.out.println(now);        System.out.println(now1);        System.out.println(now2);        System.out.println(now3);        System.out.println(now4);        System.out.println(now5);        System.out.println(now6);    }

1.4 在当前时间基础上减去对应的时间

@Testpublic void now3(){    LocalDateTime now = LocalDateTime.now(); // 当前时间    LocalDateTime now1 = now.minusYears(5); // 在当前时间减上5年    LocalDateTime now2 = now.minusMonths(5);// 在当前时间商减上5月    LocalDateTime now3 = now.minusDays(7); // 在当前时间减上7天    LocalDateTime now4 = now.minusHours(2); // 在当前时间减上2个小时    LocalDateTime now5 = now.minusMinutes(30); // 在当前时间减上30分钟    LocalDateTime now6 = now.minusSeconds(30); // 在当前时间减上30秒    System.out.println(now);    System.out.println(now1);    System.out.println(now2);    System.out.println(now3);    System.out.println(now4);    System.out.println(now5);    System.out.println(now6);}

1.5 改变当前时间(年月日时分秒)

@Testpublic void now4(){    LocalDateTime now = LocalDateTime.now(); // 当前时间    LocalDateTime now1 = now.withYear(2060); // 改变当前年份(变成2060年)    LocalDateTime now2 = now.withMonth(12); // 改变当前月份(变成12月份)    LocalDateTime now3 = now.withDayOfMonth(29); //改变当前天数(变成29日)    LocalDateTime now4 = now.withHour(23); // 改变当前小时数(变成23时)    LocalDateTime now5 = now.withMinute(30); // 改变当前分钟(变成30分钟)    LocalDateTime now6 = now.withSecond(23); // 改变当前小时数(变成23时)    LocalDateTime now7 = now.withDayOfYear(60); // 从一月一号开始加上60天    System.out.println(now);    System.out.println(now1);    System.out.println(now2);    System.out.println(now3);    System.out.println(now4);    System.out.println(now5);    System.out.println(now6);    System.out.println(now7);}

1.6 两个时间作比较

 @Test    public void compareTo(){        LocalDateTime now = LocalDateTime.now(); // 当前时间        LocalDateTime now1 = now.plusYears(5); // 在当前时间加上5年        //  给LocalDateTime 赋值        LocalDateTime of = LocalDateTime.of(2022,2,5,1,1,1);        LocalDateTime of1 = LocalDateTime.of(2022,8,5,1,1,1);        //两个时间作比较,第一个时间减去第二个时间(如果年份相同,比较月份,月份相同比较天数,以此类推)        int compareTo = now1.compareTo(now);        int compareTo1 = now.compareTo(now1);        int compareTo2 = now.compareTo(of);        int compareTo3 = now.compareTo(of1);        System.out.println(now);   // 输出 2022-08-13 14:35:52        System.out.println(now1); // 输出 2027-08-13 14:35:52        System.out.println(of); // 输出 2022-02-05T01:01:01        System.out.println(of1); // 输出 2022-08-05T01:01:01        System.out.println(compareTo); // 输出 5年        System.out.println(compareTo1); // 输出 -5年        System.out.println(compareTo2); // 输出 6月        System.out.println(compareTo3); // 输出 8天    }

1.7 给LocalDateTime 赋值

 @Test    public void ofParse(){        //  给LocalDateTime 赋值        LocalDateTime of = LocalDateTime.of(2022,2,5,1,1,1);        System.out.println(of); // 输出 2022-02-05 01:01:01        //  给LocalDateTime 赋值 注意(text文本格式要于yyyy-MM-dd HH:mm:ss一致,不然会报错)        LocalDateTime parse = LocalDateTime.parse("2022-02-05 01:01:01", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));        System.out.println(parse); // 输出 2022-02-05 1:1:1    }

1.8 时间转换

  @Test    public void ofPattern() {        // 字符串转时间        String dateTime = "2021-01-05 12:00:00";        DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");        LocalDateTime ldt = LocalDateTime.parse(dateTime, df);        // 时间转字符串        LocalDateTime now = LocalDateTime.now();        DateTimeFormatter of = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");        String dateTime1 = now.format(of);        System.out.println(ldt); // 输出 2021-01-05T12:00        System.out.println(dateTime1); // 输出 2022-08-13 10:15:03    }

1.9 计算时间差

@Testpublic void duration(){    LocalDateTime now = LocalDateTime.now(); // 当前时间    //  给LocalDateTime 赋值    LocalDateTime of = LocalDateTime.of(2022,7,13,1,1,1);    Duration duration = Duration.between(of,now); // 后面减去前面    long days = duration.toDays(); //相差的天数    long hours = duration.toHours();//相差的小时数    long minutes = duration.toMinutes();//相差的分钟数    long millis = duration.toMillis();//相差毫秒数    long nanos = duration.toNanos();//相差的纳秒数    System.out.println(days); // 输出 31    System.out.println(hours); // 输出 752    System.out.println(minutes); // 输出 45179    System.out.println(millis); // 输出 2710769393    System.out.println(nanos); // 输出 2710863444800000}

2.通过Util包中的Date获取当前时间

  Date date = new Date(); // 返回当前时间戳格式    SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd :hh:mm:ss"); // 改变格式    System.out.println(dateFormat.format(date)); // 获取当前时间

3.通过Util包的Calendar 获取当前时间

Calendar cal= Calendar.getInstance(); // 返回当前时间戳格式SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd :hh:mm:ss"); // 改变格式System.out.println(dateFormat.format(cal.getTime())); // 获取当前时间int y=cal.get(Calendar.YEAR); // 获取当前年份int m=cal.get(Calendar.MONTH); // 获取当前月份int d=cal.get(Calendar.DATE); // 获取当前日期int h=cal.get(Calendar.HOUR_OF_DAY); // 获取当前小时int mi=cal.get(Calendar.MINUTE); // 获取当前分钟int s=cal.get(Calendar.SECOND); // 获取当前秒数System.out.println("现在时刻是"+y+"年"+m+"月"+d+"日"+h+"时"+mi+"分"+s+"秒");

4.使用System.currentTimeMillis()获取当前时间

SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd 'at' HH:mm:ss z"); // 改变格式Date date = new Date(System.currentTimeMillis()); // 返回当前时间戳格式System.out.println(formatter.format(date)); // 获取当前时间

来源地址:https://blog.csdn.net/ITKidKid/article/details/126314871

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯