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

package com.example.core.mydemo.localdatetime;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors; /**
* 根据两个日期之间,获取该日期之间的每天的日期格式
* LocalDate和LocalDateTime数据格式转换
* output:
* 2024-10-01
* 2024-10-02
* 2024-10-03
* 2024-10-04
* 2024-10-05
* ldt=2024-05-22T10:00
* ldtStr=2024-05-22 10:00:00
*/
public class LocalDateTest {
public static void main(String[] args) {
List<String> list = new ArrayList<>(); //开始
Long start = 20241001L;
//结束
Long end = 20241005L;
if(start.longValue() == end.longValue()){
LocalDate ldStart = parseStringToLocalDate(String.valueOf(start),"yyyyMMdd");
list.add(formatLocalDateToString(ldStart,"yyyy-MM-dd"));
}else if(start < end){
LocalDate ldStart = parseStringToLocalDate(String.valueOf(start),"yyyyMMdd");
LocalDate ldEnd = parseStringToLocalDate(String.valueOf(end),"yyyyMMdd");
list.add(formatLocalDateToString(ldStart,"yyyy-MM-dd"));
// list.add(formatLocalDateToString(ldEnd,"yyyy-MM-dd"));
LocalDate ldMiddle = ldStart;
while (true){
LocalDate nextDay = ldMiddle.plusDays(1);
list.add(formatLocalDateToString(nextDay,"yyyy-MM-dd"));
//终止循环
if (nextDay.isEqual(ldEnd)) {
break;
}
//递增
ldMiddle = nextDay;
}
} //默认升序,去重
list = list.stream().distinct().sorted().collect(Collectors.toList());
// Collections.sort(list); // 输出排序后的列表
for (String str : list) {
System.out.println(str);
} //LocalDateTime测试
LocalDateTime ldt = parseStringToLocalDateTime("20240522100000","yyyyMMddHHmmss");
System.out.println("ldt=" + ldt);
String ldtStr = formatLocalDateTimeToString(ldt,"yyyy-MM-dd HH:mm:ss");
System.out.println("ldtStr=" + ldtStr);
} /**
* LocalDate转换
* @param date
* @param format
* @return
*/
public static LocalDate parseStringToLocalDate(String date,String format) {
return LocalDate.parse(date, DateTimeFormatter.ofPattern(format));
} public static String formatLocalDateToString(LocalDate localDate,String format) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(format);
return localDate.format(formatter);
} /**
* 同理 LocalDateTime
* @param date
* @param format
* @return
*/
public static LocalDateTime parseStringToLocalDateTime(String date,String format) {
return LocalDateTime.parse(date, DateTimeFormatter.ofPattern(format));
} public static String formatLocalDateTimeToString(LocalDateTime localDateTime,String format) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(format);
return localDateTime.format(formatter);
} }

根据两个日期之间获取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. 代理网关设计与实现(基于NETTY)

    ​简介:本文重点在代理网关本身的设计与实现,而非代理资源的管理与维护. ​ 作者 | 新然 来源 | 阿里技术公众号 一 问题背景 平台端购置一批裸代理,来做广告异地展现审核.从外部购置的代理,使用方 ...

  2. [Trading] 人物: 陈向忠日内交易技术核心 - 趋势形态与成交量

    分时图判断趋势(开仓方向) 只要是低点不断抬高的,就是上涨趋势,高点是否提高是其次的. 只要是高点不断降低的那就是下降趋势,假如低点也在不断降低,那么这样的下降趋势就更加完美一些. 很多人就是看对了趋 ...

  3. dotnet 读 WPF 源代码笔记 聊聊 HwndWrapper.GetGCMemMessage 调试消息

    我在阅读 WPF 源代码,在 HwndWrapper 的静态构造函数看到了申请了 HwndWrapper.GetGCMemMessage 这个 Windows 消息,好奇这个消息是什么功能的.通过阅读 ...

  4. WPF 如何获取有哪些 VisualBrush 用了某个控件

    我写了一个特殊的控件,我期望了解到有哪些 VisualBrush 捕获了此控件,或者说有哪些 VisualBrush 用了此控件的界面 本文的方法需要用到反射,需要使用 WPF 框架里面没有公开的字段 ...

  5. NopCommerce 多数据库方案

    本文转自:http://www.cnblogs.com/YUTOUYUWEI/p/5538200.html 有时候一个项目需要连接多个数据库,以实现不同数据库的数据在同个项目的共享. 如果已经安装了n ...

  6. Multisim14.0安装步骤

    免责声明:以下图片资源来源于Internet,作搜集学习之用.   此处,若只用到multisim仿真,可以只选择multisim 14.0 下面的education edition.

  7. 函数编程:强大的 Stream API

    函数编程:强大的 Stream API 每博一文案 只要有人的地方,世界就不会是冰冷的,我们可以平凡,但绝对不可以平庸. ------ <平凡的世界> 人活着,就得随时准备经受磨难.他已经 ...

  8. 抛砖系列之文本处理工具-awk

    AWK是一个优良的文本处理工具,Linux及Unix环境中现有的功能最强大的数据处理引擎之一.这种编程及数据操作语言(其名称得自于它的创始人阿尔佛雷德·艾侯.彼得·温伯格和布莱恩·柯林汉姓氏的首个字母 ...

  9. C语言:判断是否为素数,并且打印素数表

    /*     构造素数表, 只需要用数字除以已经判断出来的数是否能整除就行,     不需要除以这个数之前所有的数字,     前提是这个数除以的素数是要比他自己小的      */ 注意一点:int ...

  10. Gin 框架的执行流程

    Gin框架是一个用Go语言编写的高性能Web框架,它基于httprouter实现,具有快速.简洁和高效的特性. 以下是Gin框架处理HTTP请求的大致执行流程: 1 初始化Gin引擎: 用户创建一个新 ...