想要根据特定时区确定转换时间



我正在从外部系统接收一个DateTime对象。
我收到一个类似2012-06-20T13:30:00+05:30的日期。外部系统使用Joda-Time API创建了日期。

我找不到相应的日期格式。此外,我想将时间转换为09:00:00+01:30(不同的时区)。

该字符串表示日期、时间和与UTC的偏移量。

正偏移量表示"在UTC之前",向东。负的意思是"在UTC之后",向西。在你的例子中,+05:30是现代印度时间。

此格式由ISO 8601标准正式定义。这个标准非常有用。请务必阅读维基百科页面。

Joda-Time库和新的java。在Java 8中,广泛使用ISO 8601。该格式是解析和生成日期-时间值的字符串表示的默认格式。

只需将该字符串传递给DateTime的构造函数。并将时区对象传递给构造函数。或稍后调用withZone方法调整时区

DateTimeZone timeZoneParis = DateTimeZone.forID( "Europe/Paris" );
DateTime dateTimeParis = new DateTime( myIsoString, timeZoneParis );

我对你提到的+01:30的偏移量感到困惑。我在时区列表中没有看到这样的偏移。这样的偏移量在历史上的南非使用了十年。

相关内容

  • 没有找到相关文章

最新更新