首页 > 解决方案 > java将日期时间字符串转换为zulu日期时间格式

问题描述

我需要将此日期“2021-09-27 16:32:36”转换为 zulu 格式,如“yyyy-MM-dd'T'HH:mm:ss.SSS'Z”。

标签: javadatetime

解决方案


tl;博士

"2021-09-27 16:32:36"
.replace( " " , "T" )
.concat( ".Z" )

2021-09-27T16:32:36Z

在 ISO 8601 中可以省略零的小数秒。

字符串操作

通常我会推荐使用java.time类。但在您的情况下,显而易见的解决方案是简单的字符串操作,正如Andy Turner 所建议的那样

String iso8601 = "2021-09-27 16:32:36".replace( " " , "T" ).concat( ".000Z" ) ;

我建议放弃零小数秒。该字符串仍将符合 ISO 8601。

String iso8601 = "2021-09-27 16:32:36".replace( " " , "T" ).concat( "Z" ) ;

结果字符串2021-09-27T16:32:36Z表示一个时刻,在 UTC 前后偏移零小时-分钟-秒。

如果您需要做进一步的工作,请将其解析为Instant. 例子:Instant.parse( iso8601 )


推荐阅读