鉴于时区的不连续性,是否有一种标准方法可以指定您感兴趣的两个重复时钟时间中的哪一个?这引起了我对最近提出的Java讨论“Why is subtracting these two times (in 1927) giving a strange result?”的注意,但这并不是孤立于20世纪20年代中国的奇怪事件。
我如何告诉你今年11月3日我感兴趣的01:50 AM(EST)?我知道我可以使用UTC,纪元时间......但是有没有一种好方法可以询问用户他们感兴趣的当地时间?
答案 0 :(得分:1)
我如何告诉你今年11月3日我感兴趣的01:50 AM(EST)?
通过将其限定为EST,您已经指定您的意思是“东部标准时间”,即UTC-05:00。那是凌晨1:50的第二个例子。第一个实例发生在“东部夏令时”(EDT),即UTC-04:00。当然,如果你刚刚说“东部时间”,那么我就不知道你的意思。
然而 - 请记住,“EST”本身并不是唯一的。我猜测你在美国是指东部标准时间 - 但你可能意味着三个不同区域中的一个都被称为同一个东西。 See here for a list of time zone abbreviations.现在碰巧所有“EST”区域都在UTC-05:00,但这只是巧合。有几个区域具有相同的名称或缩写,并具有不同的偏移或不同的DST开始/停止日期。
您正在寻找的“标准”是ISO8601的一部分,它允许日期和时间包含偏移量。例如,提到的两点是:
2013-11-03T01:50:00-04:00
2013-11-03T01:50:00-05:00
请记住,偏移量唯一地标识时刻/瞬间 - 但它不唯一地标识时区。还有其他几个时区在不同时间使用-04:00和-05:00偏移。这一点经常被遗忘,因为偏移有时被错误地称为“区域”。