根据两个日期之间获取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 ...
随机推荐
- Pull or Push?监控系统如何选型
简介: 对于建设一套公司内部使用的监控系统平台,相对来说可选的方案还是非常多的,无论是用开源方案自建还是使用商业的SaaS化产品,都有比较多的可选项.但无论是开源方案还是商业的SaaS产品,真正实施 ...
- [Blockchain] (Binance Smart Chain) BSC 测试网 BNB 水龙头
测试网BNB水龙头 https://testnet.binance.org/faucet-smart 测试网区块浏览器 https://testnet.bscscan.com 主网区块浏览器 http ...
- dotnet 修复 GitHub Action 构建过程提示 NETSDK1127 错误
本文告诉大家,如何修复 GitHub Action 构建过程提示 error NETSDK1127: The targeting pack Microsoft.WindowsDesktop.App.W ...
- Codeforces Round 932 (Div. 2) ABCD
A. Entertainment in MAC 题意:给定字符串 \(S\),有两种操作,每次操作其中之一: 把 \(S\) 变为 \(S\) 的翻转 \(T\). 把 \(S\) 变为 \(S + ...
- NOIP2023游寄
Day -?? 模拟赛挂分. Day -18 模拟赛挂大分,挂分大于得分.(180/400,得分/标准分,下同) 连着挂了好多场了,感觉有点迷茫了. Day -17 模拟赛--AK了?(400/400 ...
- 8、shell 脚本
1.shell 脚本基础 作用:介于系统内核与用户之间,负责解释命令行 1.1.第一个 shell 脚本 vim first.sh cd /boot/ pwd ls -lh vml*z 赋予可执行权限 ...
- 06. rails gem 安装mysql
修改Gamefile Gamefile 里添加 gem 'mysql2' 执行命令行 bundle 可以看到下图片上已经安装好依赖了 修改配置文件 修改config/database.yml文件 # ...
- 关于Java Chassis 3的契约优先(API First)开发
本文分享自华为云社区<Java Chassis 3技术解密:契约优先(API First)开发>,作者: liubao68. 契约优先(API First)开发是指应用程序开发过程中,将A ...
- 一键自动化博客发布工具,用过的人都说好(cnblogs篇)
cnblogs和其他的博客平台相比会比较复杂,需要设置的项目也比较多一些,弄懂了cnblogs的实现方式,那么你应该对selenium的整个框架使用已经烂熟于心了. 除了正常的标题,内容,摘要之外,c ...
- 几行命令用minikube快速搭建可测试的kubernetes单节点环境
几行命令用minikube快速搭建可测试的kubernetes单节点环境 需要docker环境,https://www.cnblogs.com/xiaofei12/p/17544579.html,网速 ...