gpt4 book ai didi

javascript - 如何使用Momentjs计算夏令时的小时数

转载 作者:行者123 更新时间:2023-11-30 11:45:51 27 4
gpt4 key购买 nike

我想知道如何使用 Moment.JS 来计算给定日期的小时数。原因是正常的一天是 24 小时。但是夏令时在 Spring 开始的那一天将是 25 小时。

或者我如何使用 moment.js 甚至 js 来计算是否已达到 Spring 的夏令时,同时记住夏令时在凌晨 2 点之后开始。

我尝试使用的代码是

时刻([2017, 2, 12]).isDST();

但是我如何使用它,不仅可以告诉我它是否是 DST,还可以检查它是否在凌晨 2 点之后。

最佳答案

简单地获取一天开始和第二天开始之间的小时差。

var m = moment([2017, 2, 12]); // your moment object, however you create it.

var a = moment(m).startOf('day');
var b = moment(m).add(1, 'day').startOf('day');

var h = b.diff(a, 'hours'); // 23, 24, 25, etc.

请注意,世界各地的时区不同。有些执行夏令时,有些则不执行。有些人在不同的日期和不同的时间进行。结果甚至有可能得到 23.5 或 24.5,因为至少有一个地方有 30 分钟的夏令时偏差,而不是正常的 1 小时(澳大利亚豪勋爵岛)。还有一些地方的转换与 DST 无关,例如委内瑞拉在 2016 年 5 月将其标准时间从 UTC-04:30 改回 UTC-04:00。

另外,你说:

... But the day that daylight savings time starts in the Spring will be 25hrs.

实际上是秋季多了一个小时。在 Spring ,会缩短一个小时(23 小时)。

关于javascript - 如何使用Momentjs计算夏令时的小时数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41004638/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com