根据两个日期之间获取LocalDate日历列表和LocalDate和LocalDateTime数据格式转换

  1. package com.example.core.mydemo.localdatetime;
  2.  
  3. import java.time.LocalDate;
  4. import java.time.LocalDateTime;
  5. import java.time.format.DateTimeFormatter;
  6. import java.util.ArrayList;
  7. import java.util.Collections;
  8. import java.util.List;
  9. import java.util.stream.Collectors;
  10.  
  11. /**
  12. * 根据两个日期之间,获取该日期之间的每天的日期格式
  13. * LocalDate和LocalDateTime数据格式转换
  14. * output:
  15. * 2024-10-01
  16. * 2024-10-02
  17. * 2024-10-03
  18. * 2024-10-04
  19. * 2024-10-05
  20. * ldt=2024-05-22T10:00
  21. * ldtStr=2024-05-22 10:00:00
  22. */
  23. public class LocalDateTest {
  24. public static void main(String[] args) {
  25. List<String> list = new ArrayList<>();
  26.  
  27. //开始
  28. Long start = 20241001L;
  29. //结束
  30. Long end = 20241005L;
  31. if(start.longValue() == end.longValue()){
  32. LocalDate ldStart = parseStringToLocalDate(String.valueOf(start),"yyyyMMdd");
  33. list.add(formatLocalDateToString(ldStart,"yyyy-MM-dd"));
  34. }else if(start < end){
  35. LocalDate ldStart = parseStringToLocalDate(String.valueOf(start),"yyyyMMdd");
  36. LocalDate ldEnd = parseStringToLocalDate(String.valueOf(end),"yyyyMMdd");
  37. list.add(formatLocalDateToString(ldStart,"yyyy-MM-dd"));
  38. // list.add(formatLocalDateToString(ldEnd,"yyyy-MM-dd"));
  39. LocalDate ldMiddle = ldStart;
  40. while (true){
  41. LocalDate nextDay = ldMiddle.plusDays(1);
  42. list.add(formatLocalDateToString(nextDay,"yyyy-MM-dd"));
  43. //终止循环
  44. if (nextDay.isEqual(ldEnd)) {
  45. break;
  46. }
  47. //递增
  48. ldMiddle = nextDay;
  49. }
  50. }
  51.  
  52. //默认升序,去重
  53. list = list.stream().distinct().sorted().collect(Collectors.toList());
  54. // Collections.sort(list);
  55.  
  56. // 输出排序后的列表
  57. for (String str : list) {
  58. System.out.println(str);
  59. }
  60.  
  61. //LocalDateTime测试
  62. LocalDateTime ldt = parseStringToLocalDateTime("20240522100000","yyyyMMddHHmmss");
  63. System.out.println("ldt=" + ldt);
  64. String ldtStr = formatLocalDateTimeToString(ldt,"yyyy-MM-dd HH:mm:ss");
  65. System.out.println("ldtStr=" + ldtStr);
  66. }
  67.  
  68. /**
  69. * LocalDate转换
  70. * @param date
  71. * @param format
  72. * @return
  73. */
  74. public static LocalDate parseStringToLocalDate(String date,String format) {
  75. return LocalDate.parse(date, DateTimeFormatter.ofPattern(format));
  76. }
  77.  
  78. public static String formatLocalDateToString(LocalDate localDate,String format) {
  79. DateTimeFormatter formatter = DateTimeFormatter.ofPattern(format);
  80. return localDate.format(formatter);
  81. }
  82.  
  83. /**
  84. * 同理 LocalDateTime
  85. * @param date
  86. * @param format
  87. * @return
  88. */
  89. public static LocalDateTime parseStringToLocalDateTime(String date,String format) {
  90. return LocalDateTime.parse(date, DateTimeFormatter.ofPattern(format));
  91. }
  92.  
  93. public static String formatLocalDateTimeToString(LocalDateTime localDateTime,String format) {
  94. DateTimeFormatter formatter = DateTimeFormatter.ofPattern(format);
  95. return localDateTime.format(formatter);
  96. }
  97.  
  98. }

根据两个日期之间获取LocalDate日历列表和LocalDate和LocalDateTime数据格式转换的更多相关文章

  1. java获取日期之间天数的方法

    //获取两个日期之间的天数private int daysBetween(Date now, Date returnDate) { Calendar cNow = Calendar.getInstan ...

  2. Java 获取两个日期之间的日期

    1.前期需求,两个日期,我们叫他startDate和endDate,然后获取到两个日期之间的日期 /** * 获取两个日期之间的日期 * @param start 开始日期 * @param end ...

  3. JS 格式化时间(获取两个日期之间的每一天、每一月、每半小时、每一秒)

    时间戳转换为时间 // 时间戳转换为时间 function timestampToTime(timestamp, isMs = true) { const date = new Date(timest ...

  4. java 获取两个日期之间的所有日期(年月日)

    前言:直接上代码 java 获取两个日期之间的所有日期(年月日) /** * 获取两个日期之间的日期,包括开始结束日期 * @param start 开始日期 * @param end 结束日期 * ...

  5. java获取两个日期之间的所有日期

    java获取两个日期之间的所有日期   解决方法: 1.核心方法 private List<String> getBetweenDates(String start, String end ...

  6. Java计算两个字符串日期之间的天数差

    Java计算两个字符串日期之间的天数差 调用方法: public static void main(String[] args) throws ParseException { String a = ...

  7. 计算两个日期之间相差的年数月数天数(JS实现)

    前言 如何计算年龄?我的第一直觉做法:(当前时间戳 - 出生时的时间戳)/ (365*86400)  所得结果向下取整.后来发现这种做法获得的结果不准确,不是多了一岁就是少了一岁,不能简单粗暴的这么处 ...

  8. C#开发BIMFACE系列7 服务端API之获取文件信息列表

    系列目录     [已更新最新开发文章,点击查看详细] 本文详细介绍如何获取BIMFACE平台中所有上传过的文件信息列表. 请求地址:GET https://file.bimface.com/file ...

  9. Java——各种日期的获取(来自别人分享)

     import java.text.DateFormat; import java.text.ParsePosition; import java.text.SimpleDateFormat; i ...

  10. Ios中比较两个日期之间的时间差距

    1.比较两个日期之间的时间差距 // 1.日历对象(标识:时区相关的标识) NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIde ...

随机推荐

  1. [FAQ] golang-migrate/migrate error: migration failed in line 0: (details: Error 1065: Query was empty)

    当我们使用 migrate create 创建了迁移文件. 没有及时填写内容,此时运行 migrate 的后续命令比如 up.down 会抛出错误: error: migration failed i ...

  2. WPF 修复引用库报错 所使用的 PresentationFramework 6

    本文记录一个 WPF 构建的坑,这是 WPF 仓库的运维管理大意挖的坑.将会在大家使用低版本的 dotnet 6 如 6.0.1 版本时,引用其他人使用高 dotnet 6 版本,如 dotnet 6 ...

  3. WPF 推荐一个剪贴板内容查看工具

    本文来安利大家一个好用的 Windows 剪贴板的内容查看工具 这是在 GitHub 上完全免费开源的应用,由 walterlv 开发的应用,详细请看 https://github.com/walte ...

  4. dotnet OpenXML 解析 PPT 图表 解析日期时间表示内容

    在 OpenXML 里的图表存放的日期时间很多存放的是数值,需要进行转换才能获取到用户可见的字符串 日期在 OpenXML 里可以使用数值存放,需要根据数值和格式化字符串转换为用户可见的字符串 如以下 ...

  5. 安装petalinux

    1.petalinux工具下载,下载地址: https://china.xilinx.com/support/download/index.html/content/xilinx/zh/downloa ...

  6. vue-公共组件的注册

    注册公共组件,在每个需要的页面直接输入文件名(<g-table/>)即可引用该组件 步骤: 1.新建components/global文件夹,以及components/global/g-t ...

  7. 将字节数组输入流拷贝成字节数组输出流,将ByteArrayInputStream转成ByteArrayOutputStream

    /** 将 ByteArrayInputStream 拷贝成 ByteArrayOutputStream * 将 字节数组输入流 拷贝成 字节数组输出流 */ public static ByteAr ...

  8. 大模型高效微调详解-从Adpter、PrefixTuning到LoRA

    一.背景 目前NLP主流范式是在大量通用数据上进行预训练语言模型训练,然后再针对特定下游任务进行微调,达到领域适应(迁移学习)的目的. 指令微调是预训练语言模型微调的主流范式 其目的是尽量让下游任务的 ...

  9. Pr 的导出视频

    导出视频 https://www.bilibili.com/video/BV1Vt411n7Bb?p=7

  10. ansible(12)--ansible的cron模块

    1. cron模块 功能:管理被控端计划任务: 主要参数如下: 参数 说明 name 定时任务基本描述 job 定时任务要执行的命令 minute 分 hour 小时 day 日 month 月 we ...