我有一个像 "2007-03-12T04:27:00.000+01:00"
这样的字符串,我想将其转换为日期时间对象并进行一些计算。目前我正在使用joda.time
。当我将其转换为 joda DateTime 对象并尝试打印时,它显示为 "2007-03-12T08:57:00.000+05:30"
。我如何打印具有相同时区的值。
最佳答案
除非您指定所需的时区,否则 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);
关于java - 转换乔达日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12979773/