将另一个时区转换为本地时区,在Java中保留本地时间
假设我得到纽约的时间戳将另一个时区转换为本地时区,在Java中保留本地时间,java,datetime,jodatime,Java,Datetime,Jodatime,假设我得到纽约的时间戳mtimestap。进一步说,我当地的时区是加利福尼亚。如果纽约时区转换为纽约的晚上9:03:45,那么如何获得加利福尼亚州晚上9:03:45的等效时间戳?我希望这个问题有意义,这是我能表达的最好的问题 因此,该函数将把一个时间戳(在纽约是晚上9点)转换为一个时间戳(在加利福尼亚是晚上9点)。我认为时间戳是一样的,因为时间仍然是一样的,但是如果你想在两个不同的地区转换时间,然后在同一时间将一个地区的时间转换为另一个地区的时间实际上更有意义因为你已经用“datetime”和“
mtimestap
。进一步说,我当地的时区是加利福尼亚。如果纽约时区转换为纽约的晚上9:03:45,那么如何获得加利福尼亚州晚上9:03:45的等效时间戳?我希望这个问题有意义,这是我能表达的最好的问题
因此,该函数将把一个时间戳(在纽约是晚上9点)转换为一个时间戳(在加利福尼亚是晚上9点)。我认为时间戳是一样的,因为时间仍然是一样的,但是如果你想在两个不同的地区转换时间,然后在同一时间将一个地区的时间转换为另一个地区的时间实际上更有意义因为你已经用“datetime”和“jodatime”标记了你的问题,我想你说的是类
org.joda.time.datetime
这个类确实有一个内部时区状态!如果您只查看方法withZone()
,或者您可以将此状态更改为另一个时区。在您的情况下,您需要相同的本地时间,但更改时区,从而更改全局时间线上的物理瞬间
DateTime newYork =
new DateTime(2014, 1, 17, 21, 3, 45, DateTimeZone.forID("America/New_York");
DateTime california =
newYork.withZoneRetainFields(DateTimeZone.forID("America/Los_Angeles"));
我真的很喜欢你表达我问题的方式。非常感谢你的重新措辞。我要试试你的答案+1同时。不是完全重复的,因为OP似乎特别询问Jodatime。