我正在测试 MATLAB 以确保我正确地应用了它的功能。 来自数据源的示例包括:
- 当前时间(以 UNIX 纪元秒为单位)为:1160967053
- 纽约当前时间是 Sun Oct 15 22:50:53 EDT 2006
我假设以上是正确的,并试图在 MATLAB 中重现结果:
dt = 日期时间(1160967053,'ConvertFrom','posixtime')
返回:
dt = 16-Oct-2006 02:50:53
这个结果是 +4 小时:我期待 +5 小时。纽约时间是UTC -5。有1小时的差异:夏令时?
将时区添加到函数时,结果与参考示例匹配:
T = datetime(1160967053,'ConvertFrom','posixtime','TimeZone','America/New_York')
T = 15-Oct-2006 22:50:53
问题
- 如果 NYC 是 UTC -5,为什么相差 4 小时?
是的,时间戳 1160967053 代表这个日期(在 UTC 上):
纽约的正确时间是:
是的,晚了 4(四)小时。
EDT 标签清楚地写着:东部夏令时间。
那年“标准”时间的下一个变化是:
所以,如果我们提前 15 天,时间是:
那是 EST:东部标准时间(或比 UTC+0 晚 5 小时)
我看不出有什么问题。