【发布时间】:2021-11-25 19:41:01
【问题描述】:
如何在 Java 中将 2021-09-29T17:04:31.0000 +05:30 转换为 2021-09-29 17:04:31.0000000 Asia/Calcutta?
这里还有其他问题-
我尝试了很多方法从offset(+05:30) 获取timezone(Asia/Calcutta),但无法获取。
有人可以帮忙吗?
【问题讨论】:
-
您无法从偏移量中获取区域,因为偏移量只是与 UTC 的偏移量,但它不会告诉您实际应用的位置。区域会告诉您它在哪里以及它使用的偏移量,它甚至会考虑夏令时。这意味着您不能从偏移量中导出区域,但反过来也是可能的。
-
什么情况?例如,如果您总是必须使用相同的时区或偏移量,您能否更详细地解释一下?问题中的更多信息可能会导致 cmets 和答案中的更多信息。请分享一些...
-
你不能。 +05:30 也可能意味着亚洲/科伦坡。对于其他偏移量,列表通常会变得更长。例如,我当前的偏移量 +02:00 可能意味着 Europe/Sarajevo、Africa/Khartoum、Africa/Cairo、Africa/Mbabane、Europe/Amsterdam、Europe/Tirane、Africa/Blantyre、Europe/Busingen、Europe/Zagreb、Europe /布鲁塞尔,非洲/布琼布拉,欧洲/罗马,南极洲/巨魔,欧洲/波德戈里察,欧洲/安道尔,欧洲/布达佩斯,欧洲/斯科普里,非洲/约翰内斯堡,欧洲/梵蒂冈,欧洲/奥斯陆,非洲/温得和克,欧洲/卢布尔雅那、Arctic/Longyearbyen、Atlantic/Jan_Mayen、Europ...(太长了 403 个字符)
-
你是对的@OleV.V。在这种情况下我怎么知道确切的时区
-
很抱歉重复一遍:你不能。 @PravinMangalam 不是来自你收到的那个字符串。您可以向消息来源的人询问他们打算使用哪个时区,当然,也许他们知道。
标签: java datetime timestamp timestamp-with-timezone datetimeformatter