关于时间格式yyyy-M-d或yyyy-MM-d到yyyy-MM-dd的转换

简介: 关于时间格式yyyy-M-d或yyyy-MM-d到yyyy-MM-dd的转换

     工作时遇到前端传的时间格式是"2023-12-3 17:41:52",和"2023-1-1 17:41:52"但是我想要的是"2023-12-03 17:41:52"和"2023-01-01 17:41:52"。下面给大家分享几个解决方法

方法一:

   找前端!让他改!使劲改!!!

方法二:

  使用Java 8中的DateTimeFormatter的parse()format()方法以及LocalDateTimeLocalDateLocalTime来实现。下面这一行代码完美解决

DateTimeFormatter.ofPattern("yyyy[-]M[-]d H:mm:ss").parse("2023-11-1 17:41:52", LocalDateTime::from).format(DateTimeFormatter.ofPattern("yyyy-MM-dd H:mm:ss"))

演示:

package org.example;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
/**
 * @author 不爱吃鱼
 * @date 2023/11/2 9:25
 */
public class Main {
    public static void main(String[] args) {
        //时间转换
        String a = "2023-1-1 17:41:52";
        String b = "2023-12-3 17:41:52";
        System.out.println("a = "+Time(a)+"\n"+"b = "+Time(b));
    }
    public static String Time(String time){
        return  DateTimeFormatter.ofPattern("yyyy[-]M[-]d H:mm:ss").parse(time, LocalDateTime::from).format(DateTimeFormatter.ofPattern("yyyy-MM-dd H:mm:ss"));
    }
}

 打印结果:

 

 这行代码首先定义了一个DateTimeFormatter,使用"yyyy[-]M[-]d H:mm:ss"的格式,其中方括号[-]表示可选的分隔符,用于匹配不同的日期字符串格式。

   然后,使用parse()方法将时间字符串"2023-12-3 17:41:52"解析为LocalDateTime对象。这里使用了一个方法引用LocalDateTime::from,从解析的结果中获取一个LocalDateTime对象。

   最后,使用format()方法将LocalDateTime对象格式化为指定的时间格式。这会将LocalDateTime对象转换为字符串,使用DateTimeFormatter.ofPattern("yyyy-MM-dd H:mm:ss")指定了输出的时间格式。

这样就可以将不同格式的时间字符串转换为统一的输出格式

相关文章
|
定位技术
最完整的经纬度正则表达式
最完整的就是最好的 ----经纬度
15897 0
|
XML Dubbo Java
详解如何自定义Dubbo Filter(含dubbo2.7.X及以上版本和2.6.X及以下版本两种写法)
详解如何自定义Dubbo Filter(含dubbo2.7.X及以上版本和2.6.X及以下版本两种写法)
2048 0
详解如何自定义Dubbo Filter(含dubbo2.7.X及以上版本和2.6.X及以下版本两种写法)
|
缓存
IDEA 卡住不动的解决办法,超级管用。。。
IDEA 卡住不动的解决办法,超级管用。。。
3528 0
IDEA 卡住不动的解决办法,超级管用。。。
|
前端开发
File和MultipartFile互相转化工具类
File和MultipartFile互相转化工具类
2449 0
|
安全 Java 测试技术
如何创建一个信任所有证书的`TrustManager`
`TrustManager`是Java中用于管理SSL/TLS信任关系的接口,主要用于验证服务器证书。本文介绍了如何创建一个信任所有证书的`TrustManager`,并通过示例代码展示了具体的实现步骤。虽然这种方法在测试环境中很有用,但在生产环境中使用时存在严重的安全风险。
1290 3
|
10月前
|
存储 API 数据安全/隐私保护
Apipost vs Apifox:支持离线/强制登录,谁在捍卫开发者的数据安全?
在工具选型中,API管理工具是助手还是枷锁?文章通过分析Apifox强制登录、依赖云端,断网即失效;Apipost支持游客模式和本地存储,在极端环境下仍可用坐对比,揭露是否支持离线功能的本质是对数据主权的不同态度。从登录策略、离线能力到协作模式,可以看到,Apipost更尊重开发者自由与数据安全,适合对敏感性要求高的项目。最终建议选择工具时思考:若服务中断或断网,是否仍保有主动权?真正优秀的工具应如氧气般关键时不可或缺。
1737 9
Apipost vs Apifox:支持离线/强制登录,谁在捍卫开发者的数据安全?
|
移动开发 前端开发 JavaScript
SpringBoot3 整合Thymeleaf 模板引擎
Thymeleaf 是一个基于 Java 的现代模板引擎,支持 HTML 原型,文件后缀为 .html,可直接在浏览器中查看静态效果。它与 Spring Boot 完美整合,默认配置即可使用,无需额外视图解析器设置。Thymeleaf 支持多种表达式(如变量、链接、国际化等)和 th 属性(如 th:text、th:if 等),适用于 Web 和非 Web 应用开发。通过 th:fragment、th:insert、th:replace 和 th:include 等属性,可以抽取和复用公共页面片段,并支持参数传递。
1775 12
|
Web App开发 开发者
|
JSON 负载均衡 Java
SpringCloud Feign 远程调用(史上最详细讲解)
SpringCloud Feign 远程调用(史上最详细讲解)
15103 0
SpringCloud Feign 远程调用(史上最详细讲解)
|
资源调度 JavaScript 前端开发
在 Vue 3 中实现流畅的 Swiper 滑动效果
本文介绍了如何在 Vue 3 项目中集成 Swiper,涵盖了从安装、基本用法到丰富的配置选项。通过简单的示例,读者将学习如何创建响应式的图片轮播,利用 Swiper 的循环、自动播放和自定义分页功能,提升用户体验。无论是简单的幻灯片还是复杂的滑块效果,Swiper 都能轻松实现,帮助开发者快速构建出美观的滑动组件。
2857 0