繁体   English   中英

转换乔达日期时间

[英]Convert joda date time

我有一个类似"2007-03-12T04:27:00.000+01:00"的字符串,我想将其转换为datetime对象并进行一些计算。 目前我正在使用joda.time 当我将其转换为joda DateTime对象并尝试打印时,它显示为"2007-03-12T08:57:00.000+05:30" 我如何在相同的时区打印值。

// get current moment in default time zone
DateTime dt = new DateTime();
// translate to London local time
DateTime dtLondon = dt.withZone(DateTimeZone.forID("Time Zone ID here"));//Europe/Paris

您可以在此处找到时区ID的详细列表

除非您指定所需的时区,否则DateTime默认为计算机本地时区。 DateTime(Object)构造函数使用偏移量来弄清楚您的意思是什么时刻,但不使用偏移量来设置时区。 所以代替:

    DateTime localDateTime = new DateTime("2007-03-12T04:27:00.000+01:00");

解析偏移量并获取适当的DateTimeZone,并将其提供给DateTime。

    DateTimeZone zone1 = DateTimeZone.forOffsetHoursMinutes(01, 00);
    DateTime localDateTime = new DateTime("2007-03-12T04:27:00.000", zone1);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM