场景描述
做业务时调用第三方接口,返回了形如"2020-11-22T11:49:17.000+00:00"
的时间格式字符串,需要调整为yyyy-MM-dd HH:mm:ss
这种常见格式返回到前端。
思考过程
观察字符串"2020-11-22T11:49:17.000+00:00"
,与命令行中打印的数据库时间格式类似,有+08:00
这种时区格式,因此猜想该字符串应该为常规字符串带上毫秒以及时区,根据该思路查询搜索引擎得到想要的答案。
解决方案
解析时间格式字符串时,其实也是找对应的时间格式公式,此处未能展示更详细的时间格式化公式,仅对该场景提出解决方案:
//该种时间格式对应的时间解析公式
private static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSz");
//对应格式的时间字符串
String specTime = "2020-11-22T11:49:17.000+00:00";
//格式化时间
LocalDateTime parse = LocalDateTime.parse(specTime, DATE_TIME_FORMATTER);
//将"2020-11-22T11:49:17"的'T'替换成' '即刻
String wantTime = parse.toString().replace("T"," ");