我需要按照以下格式输入日期时间:
"2018-07-17T12:16:50.52Z"
因此,我正在使用:
private static final SimpleDateFormat LIVETRACK_DATE_TIME_FORMATTER =
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
DATE_TIME_FORMATTER.parse(timeFrameFrom);
但是当我运行测试用例时,我遇到了以下错误:
Tue Jul 17 1[2:20:50 CES]T 2018> but was:<Tue Jul 17 1[0:20:50 GM]T 2018>
这是否意味着我应该将日期转换为GMT格式?如何进行转换?
SimpleDateFormat
类。它不仅已经过时,而且也有很多问题。今天我们有更好的选择,即java.time
,现代Java日期和时间API 。此外,在格式模式字符串中不要硬编码Z
作为文本。它是一个UTC偏移量,需要解析为此,否则会得到不正确的结果。 - Ole V.V.Tue Jul 17 10:20:50 GMT 2018 Uhr
,至少没有生成 "Uhr"。能否请你创建一个“最小、完整和可验证的示例”(Minimal, Complete, and Verifiable example)?这样我们就可以更好地帮助你了。 - Ole V.V.DATE_TIME_FORMATTER.parse
不会产生字符串,因此还有一些我们尚未被告知的内容。 - Ole V.V.