Java String 转 LocalDateTime

String字符串正常情况:例如:2022-11-23 12:13:08

/**
* 常用的时间格式
*/
public static final String format_DateTime = "yyyy-MM-dd HH:mm:ss";
DateTimeFormatter df = DateTimeFormatter.ofPattern(format_DateTime);
LocalDateTime localDateTime = LocalDateTime.parse("2022-11-23 12:13:08", df);

String字符串非正常情况下,例如:2022-8-2 9:30:2

/**
* string 转换为LocalDateTime
*/
public static LocalDateTime stringToLocalTime(String str){
/**
* 处理一下str
* 月,日,时分秒
* 有可能有时候一位数
* 这时候需要在前面加个0
*/
String[] s = str.split(" ");
String yearMonthDay = s[0];
String[] ymdArray = yearMonthDay.split("-");
// 年
String year = ymdArray[0];
// 月
String month = ymdArray[1];
// 日
String day = ymdArray[2];
String hourMinuteSecond = s[1];
String[] hmsArray = hourMinuteSecond.split(":");
// 时
String hour = hmsArray[0];
// 分
String minute = hmsArray[1];
// 秒
String second = hmsArray[2];
if (month.length() == 1){
month = "0" + month;
}
if (day.length() == 1){
day = "0" + day;
}
if (hour.length() == 1){
hour = "0" + hour;
}
if (minute.length() == 1){
minute = "0" + minute;
}
if (second.length() == 1){
second = "0" + second;
}
String str1 = year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + second;
DateTimeFormatter df = DateTimeFormatter.ofPattern(format_DateTime);
LocalDateTime localDateTime = LocalDateTime.parse(str1, df);
return localDateTime;
}

这样就能确保格式化的时候不会出错了

posted @   合起来的彳亍  阅读(5641)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示