根据两个日期之间获取LocalDate日历列表和LocalDate和LocalDateTime数据格式转换
根据两个日期之间获取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数据格式转换的更多相关文章
- java获取日期之间天数的方法
//获取两个日期之间的天数private int daysBetween(Date now, Date returnDate) { Calendar cNow = Calendar.getInstan ...
- Java 获取两个日期之间的日期
1.前期需求,两个日期,我们叫他startDate和endDate,然后获取到两个日期之间的日期 /** * 获取两个日期之间的日期 * @param start 开始日期 * @param end ...
- JS 格式化时间(获取两个日期之间的每一天、每一月、每半小时、每一秒)
时间戳转换为时间 // 时间戳转换为时间 function timestampToTime(timestamp, isMs = true) { const date = new Date(timest ...
- java 获取两个日期之间的所有日期(年月日)
前言:直接上代码 java 获取两个日期之间的所有日期(年月日) /** * 获取两个日期之间的日期,包括开始结束日期 * @param start 开始日期 * @param end 结束日期 * ...
- java获取两个日期之间的所有日期
java获取两个日期之间的所有日期 解决方法: 1.核心方法 private List<String> getBetweenDates(String start, String end ...
- Java计算两个字符串日期之间的天数差
Java计算两个字符串日期之间的天数差 调用方法: public static void main(String[] args) throws ParseException { String a = ...
- 计算两个日期之间相差的年数月数天数(JS实现)
前言 如何计算年龄?我的第一直觉做法:(当前时间戳 - 出生时的时间戳)/ (365*86400) 所得结果向下取整.后来发现这种做法获得的结果不准确,不是多了一岁就是少了一岁,不能简单粗暴的这么处 ...
- C#开发BIMFACE系列7 服务端API之获取文件信息列表
系列目录 [已更新最新开发文章,点击查看详细] 本文详细介绍如何获取BIMFACE平台中所有上传过的文件信息列表. 请求地址:GET https://file.bimface.com/file ...
- Java——各种日期的获取(来自别人分享)
import java.text.DateFormat; import java.text.ParsePosition; import java.text.SimpleDateFormat; i ...
- Ios中比较两个日期之间的时间差距
1.比较两个日期之间的时间差距 // 1.日历对象(标识:时区相关的标识) NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIde ...
随机推荐
- 阿里云拨测:主动探测Web应用质量,助力提升用户体验
简介: 阿里云拨测是一种针对互联网应用(Web页面.网络链路等)进行应用性能和用户体验监测的服务,无需嵌码即可为云上用户提供开箱即用的企业级主动拨测式应用监测解决方案. 随着中国数字化经济的蓬勃发展, ...
- 阿里巴巴云原生 etcd 服务集群管控优化实践
简介: 这些年,阿里云原生 etcd 服务发生了翻天覆地的变化,这篇文章主要分享一下 etcd 服务在面对业务量大规模增长下遇到的问题以及我们是如何解决的,希望对读者了解 etcd 的使用和管控运维提 ...
- Java编程技巧之单元测试用例编写流程
简介: 立足于"如何来编写单元测试用例",让大家"有章可循",快速编写出单元测试用例. 作者 | 常意来源 | 阿里技术公众号 温馨提示:本文较长,同学们可收藏 ...
- Quick Audience 营销活动功能一期上线
简介: 营销活动为Quick Audience(QA)用户洞察下的一个功能模块,通过这个模块,可以将QA侧生成的受众以及营销渠道全部关联起来,从营销活动的视角,一站式完成活动目标制定.活动计划制定到 ...
- Kettle on MaxCompute使用指南
简介: Kettle是一款开源的ETL工具,纯java实现,可以运行于Windows, Unix, Linux上运行,提供图形化的操作界面,可以通过拖拽控件的方式,方便地定义数据传输的拓扑.Kett ...
- 深度干货|云原生分布式数据库 PolarDB-X 的技术演进
简介: 深入解读PolarDB-X的产品架构,以及分布式事务.透明分布式.水平扩展等技术内幕. 一.PolarDB-X是什么 PolarDB-X最早起源于阿里集团2009年提出用分布式架构替代传统商业 ...
- 数据分析之重要模块pandas
1.简介 基于Numpy构建 pandas的出现,让Python语言成为使用最广泛而且强大的数据分析环境之一 pandas的主要功能 - 具备诸多功能的两大数据结构 Series.DataFrame( ...
- .NET Aspire 预览版 6 发布
.NET Aspire 预览版 6 引入了一系列重大更新,主要包括 API 的重大更改.安全性和可靠性的提升.新的资源和组件.应用程序主机的更新.测试支持.模板更新.组件更新.Azure 配置包的更新 ...
- SpringBoot使用JSch操作Linux
推荐使用Hutool的Jsch工具包(它用的连接池的技术) 一.SSH远程连接服务器 SSH更多见:http://t.csdnimg.cn/PrsNv 推荐连接工具:FinalShell.Xshell ...
- 01二分 [AGC006D] Median Pyramid Hard + P2824 [HEOI2016/TJOI2016] 排序
[AGC006D] Median Pyramid Hard 考虑对于一个长度为 2n + 1 的 01 序列 b 如何快速确定堆顶元素. _ _ _ _ x _ _ _ 0 x _ _ 0 0 x _ ...