如果我的日期时间字符串中间有一个字母 I,这意味着什么?

What does it mean if there's a letter I in the middle of my datetime string?

我正在尝试理解如下所示的日期时间字符串:

大部分都清楚了,就是想不通中间的I代表什么。这是我不熟悉的标准日期时间格式吗?

编辑:这些值来自一家美国公司提供的数据集,其他一些数据是英文文本。

有时,有像 TZ 这样的字母,出于某种原因 I 我以前从未见过。

T作为文字来分隔日期和时间,Z表示"zero hours offset".

一定是类似这样的东西,也许是另一种语言的“分钟”或“”。

如果您不想在数据格式中包含字符串,您可以使用

SimpleDateFormat format = new SimpleDateFormat(
    "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.US);
format.setTimeZone(TimeZone.getTimeZone("UTC"));

(在 java 中,因为您没有指定您使用的语言),或者您可以搜索类似的内容!

希望对您有所帮助!

没有通用标准。这可能是一种本土格式。

如果I总是大写的I,我建议你可以忽略它,前提是你知道时间是什么意思。

我猜 0823:40I:45 可能意味着 08:23:40.450,但如果没有任何确认,我不确定。

一个牵强附会的猜测可能是字母 I 指的是军事时区,也称为“印度时区”,因为 India 是北约拼音 I(时区与印度国家无关)。当您的日期时间字符串来自美国时不太可能,因为印度时区是 +09:00,因此远离美国。将时区放在秒之前也是没有意义的(如果那是最后两位数的话)。

Link: Time Zone Abbreviations – Military Time Zone Names