• JDK1.8更便捷获取时间的方法:LocalDateTime、LocalDate、LocalTime、Period


    1. import java.time.LocalDate;
    2. import java.time.LocalDateTime;
    3. import java.time.LocalTime;
    4. import java.time.Period;
    5. public class test {
    6. public static void main(String[] args) {
    7. LocalDateTime now = LocalDateTime.now();
    8. System.out.println("当前时间 : " + now); //注意: 这个会打印 年月日时分秒毫秒
    9. System.out.println("5分钟后的时间 : " + now.plusMinutes(5));
    10. System.out.println("2小时后的时间 : " + now.plusHours(2));
    11. System.out.println("1星期后的时间 : " + now.plusWeeks(1));
    12. System.out.println("1个月后的时间 : " + now.plusMonths(1));
    13. System.out.println("1年后的时间 : " + now.plusYears(1));
    14. System.out.println("1年前的时间 : " + now.plusYears(-1));//plusXXX方法是加
    15. System.out.println("1年前的时间 : " + now.minusYears(1));// minusXXX方法是减
    16. System.out.println("修改后的时间 : " + now.withYear(2088));// 直接修改使用withXXX
    17. System.out.println("当天最大时间 : " + now.with(LocalTime.MAX));
    18. System.out.println("当天最小时间 : " + now.with(LocalTime.MIN));
    19. //原来获取某个时间之前的时间的方法
    20. Double tempTime = 1.5 * 3600 * 1000; //1.5H
    21. long time = new Date().getTime() - tempTime .longValue();
    22. System.out.println("1.5个小时前的时间 :" + new Date(time));
    23. Double tempTime1 = 1.5 * 24 * 3600 * 1000;//1.5天
    24. long time1 = new Date().getTime() - tempTime1.longValue();
    25. System.out.println("1.5天前的时间 :" + new Date(time1));
    26. LocalDate date = LocalDate.now();
    27. //注意: 这个只会打印 年月日
    28. System.out.println("1天后的日期 : " + date.plusDays(1));
    29. LocalTime time = LocalTime.now();
    30. //注意: 这个只会打印 时分秒毫秒
    31. System.out.println("1小时后的时间 : " + time.plusHours(1));
    32. //查看相差天数
    33. long days = Duration.between(LocalDateTime.now(), LocalDateTime.now().plusDays(1)).toDays();
    34. //创建一个1年,2个月,3天的间隔
    35. Period period2 = Period.of(1, 2, 3);
    36. // 打印日期为date之后1年零2个月后3天的日期
    37. System.out.println(date.plus(period2));
    38. //创建一个年月日时分秒的时间,传值年,月,日,时,分,秒,也可以传其他值可以自己尝试
    39. LocalDateTime tempDate = LocalDateTime.of(2022,2,2,12,15,01);
    40. //转换成Date类型--mybatis早期版本不支持JDK1.8的LocalDate 、LocalDateTime 、LocalTime 类,直接使用mybatis保存到数据库会报错
    41. ZoneId zoneId = ZoneId.systemDefault();
    42. ZonedDateTime zonedDateTime = now.atZone(zoneId);
    43. Instant instant = zonedDateTime.toInstant();
    44. Date d = Date.from(instant);
    45. //Date转换成LocalDateTime
    46. Date date = new Date();
    47. Instant instant = date.toInstant();
    48. ZoneId zoneId = ZoneId.systemDefault();
    49. LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zoneId);
    50. }
    51. }

  • 相关阅读:
    QModbus库使用,并作为ROS节点发布话题及程序CMakelist编写
    2022华为杯研究生数学建模竞赛DS数模选题建议
    监控工具Prometheus及项目总结,220805,,
    教你如何使用Zbrush雕刻复杂的角色模型!
    『C语言』递归思想
    使用Docker快速连接远程Mysql
    第十四届蓝桥杯校内模拟赛第一期——Python
    动态链接库与可执行文件
    windows下使用VS2019 + CMake 进行Qt开发记录
    svn服务器迁移包括日志
  • 原文地址:https://blog.csdn.net/qq3892997/article/details/126162660