根据两个日期之间获取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. 【ClickHouse 技术系列】- ClickHouse 中的嵌套数据结构

    ​简介:本文翻译自 Altinity 针对 ClickHouse 的系列技术文章.面向联机分析处理(OLAP)的开源分析引擎 ClickHouse,因其优良的查询性能,PB级的数据规模,简单的架构,被 ...

  2. 网易云音乐音视频算法的 Serverless 探索之路

    ​简介: 基于音视频算法服务化的经验,网易云音乐曲库团队与音视频算法团队一起协作,一起共建了网易云音乐音视频算法处理平台,为整个云音乐提供统一的音视频算法处理平台.本文将分享我们如何通过 Server ...

  3. [PHP] Laravel-admin 模型表格-列的显示-链接: 关联关系的跳转链接

    link 将字段显示为一个链接. // link方法不传参数时,链接的`href`和`text`都是当前列的值 $grid->column('homepage')->link(); // ...

  4. WPF 通过 EXIF 设置和读取图片的旋转信息

    本文将告诉大家如何在 WPF 里面设置图片的 EXIF 信息,包括如何设置图片的旋转信息,以及如何读取 EXIF 的内容 值得一提的是在 WPF 里面,默认的图片渲染信息是无视 System.Phot ...

  5. dotnet core 和 .NET 5 不支持 Prefer32Bit 首选 32 位的功能

    我尝试在 dotnet core 和 dotnet 5 的应用上,右击项目属性,在生成界面勾选首选 32 位的功能,然而在 x64 下没有生成 PE32+ 的应用 这是 .NET Core 以及以上版 ...

  6. 2018-8-10-C#-字符串首字符大写

    title author date CreateTime categories C# 字符串首字符大写 lindexi 2018-08-10 19:16:52 +0800 2018-2-13 17:2 ...

  7. keepalived(2)- keepalived安装和配置

    目录 1. keepalived安装配置 1.1 keepalived安装环境 1.2 keepalived日志文件 1.3 keepalived配置文件 2. keepalived配置 2.1 ke ...

  8. three.js介绍和学习资料说明

    1.three.js能做什么 Three.js是基于原生WebGL封装运行的三维引擎,在所有WebGL引擎中,Three.js是国内文资料最多.使用最广泛的三维引擎.既然Threejs是一款WebGL ...

  9. java stream数据分组 stream().collect(groupingBy

    List<Map<String, Object>> foreList = forecastDataDao.getcityforeresults(param); Map<S ...

  10. java学习之旅(day.03)

    整数拓展: 进制 二进制:以0b开头 十进制:我们生活中的正常数 int i=10 八进制:以0开头 int i=010 十六进制:以0x开头 0~9 A~F int i=0x10 浮点数拓展: fl ...