Javascript 几个世纪以来的UTC时间

Javascript 几个世纪以来的UTC时间,javascript,node.js,datetime,datetimeoffset,Javascript,Node.js,Datetime,Datetimeoffset,我有一个关于在js中创建新日期的问题。我的时区偏移量为+1,因此我可以理解通过将其添加到新日期创建的日期是否具有与我在上一个问题中所问的.setHours()相同的查询类型 > new Date() 2019-12-05T10:13:45.694Z > new Date(2019, 6, 5, 12, 30, 0, 0) 2019-07-05T10:30:00.000Z 调用new Date()时,我的实际时间是11:13:45。我明白。但是为什么当我把小时定义为12时,它返回10

我有一个关于在js中创建新日期的问题。我的时区偏移量为+1,因此我可以理解通过将其添加到新日期创建的日期是否具有与我在上一个问题中所问的
.setHours()
相同的查询类型

> new Date()
2019-12-05T10:13:45.694Z
> new Date(2019, 6, 5, 12, 30, 0, 0)
2019-07-05T10:30:00.000Z
调用
new Date()
时,我的实际时间是11:13:45。我明白。但是为什么当我把小时定义为12时,它返回10

> new Date(2019, 6, 5, 12, 30, 0, 0)
2019-07-05T10:30:00.000Z
> new Date(1776, 6, 5, 12, 30, 0, 0)
1776-07-05T11:36:32.000Z

当对遥远的过去的日期进行同样的操作时,为什么今天的时间会有如此大的变化?

现在您的时区的UTC偏移量为+1。由于,在六月,您的时区偏移量为+2。1776年,情况可能仍然不同。

时区直到19世纪50年代左右才投入使用。1776年当然没有时区。而且,UTC直到大约1960年才出现。(这是一个越来越多的国家“加入俱乐部”的过程)。在皇家格林威治天文台的经度处,将午夜指定为0的通用术语是世界时或UT。要将UT转换为另一个地方的当地平均时间,如果该地方位于格林威治以东,则每15度经度加1小时;如果位于格林威治以西,则每15度经度减1小时


提供自动时区转换的数据库基于城市。显然,JavaScript使用的数据库将您选择的城市中的时间视为比UT提前53分28秒,或比UT提前0.883463小时。15度乘以0.883463等于格林威治以东的经度13.2519度。检查你选择的城市的经度,看看是否一致。

日光节约在某种程度上是有道理的。但是6分32秒从何而来呢?地球自转速度的减慢?闰秒/分钟/天的某种组合,以及时间的重新标准化和同步化。