- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Moment.js 库,我正在尝试获取给定时间戳自午夜以来经过的分钟数。它运作良好,除了在夏令时发生的日子(等。2015 年 3 月 8 日)。
如何准确获取一年中所有天从午夜开始的分钟数?我是否必须获取时区或偏移量?
http://jsfiddle.net/0uvz61xo/1/
Javascript
$(document).ready(function () {
var minutesFromMidnight = moment("2015-03-08 03:05:00").diff(moment("2015-03-08").startOf('day'), 'minutes')
$('#minutes').text(minutesFromMidnight);
});
HTML
Actual Minutes: <div id="minutes" style="font-weight: bold; color: red;"></div>
<br />
Expected Minutes: <b>185</b> (3 hours and 5 minutes after midnight)
最佳答案
您提供的代码确实是获取自一天开始以来经过的分钟数的正确方法,并且结果是正确的。尽管时钟上的时间是 3:05,但实际上从午夜开始只过去了 2 小时 5 分钟,因为 2:00 和 3:00 之间的时间被跳过了。在秋天,您会产生相反的效果 - 额外 增加了一个小时,因为 1:00 到 2:00 之间的小时会重复。
重要的是要认识到每个人的 DST 都不一样。许多国家根本没有它,而那些拥有它的国家也并非都在同一天或一天的同一时间进行。例如,巴西在 10 月向前跳,从 00:00 跳到 01:00。所以那天午夜不存在。一天的开始是那天的1:00。希望这能帮助您理解为什么自午夜以来耗时不一定等于时钟上的小时和分钟值。如果午夜不存在,则该问题无效,即使它存在也不能解释可能的不连续性。
也就是说,如果您真的需要一个时间值作为原始分钟数,那么很容易获得:
var m = moment("2015-03-08 03:05:00");
var result = m.hour() * 60 + m.minute();
不过请记住,这不是自午夜以来耗时。
还要认识到,如果您在美国有一个像 2015-11-01 01:30:00
这样的值,那是在回退过渡期间,所以有 两个 1:30 的实例。首先是夏令时 1:30,然后一个小时后是标准时间 1:30。您可以将 90
计算为这次的结果,但这绝不会告诉您它是这两个实例中的哪一个。同样,从午夜开始不一定是 90 分钟。它可能是,或者如果它是第二次出现凌晨 1:30,则它可能是自午夜以来 150 分钟。
另请参阅,the DST tag wiki ,其中有一些漂亮的图表可以帮助您形象化这一点。
关于javascript - Moment.JS 夏令时午夜后的分钟数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33857944/
我发现了类似的问题here ,但这与我想做的事情无关。我在互联网上做了很多研究,我确定 Delphi 正在按设计或预期工作,如果时间为零,它会忽略时间。我有一个在 ListView 中显示日期和时间的
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: Background Worker Check For When It's Midnight? 是否有我可以
尝试创建新日期并将其设置为 UTC ISO 午夜并获得如下“2017-07-12T00:00:00”的输出,但到目前为止没有成功。 var dateNow = new Date(); var date
我如何计算今天的 NSTimeInterval 时分秒为零? 我知道今天的NSTimeInterval是这样的: NSTimeInterval today = [[NSDate date] time
我正在尝试创建一个created_at查询范围,它将捕获从UTC午夜(数据库默认值)到现在创建的所有记录。过去我可以使用以下方式查询时间范围: created_at => (24.hours.ago.
我试图将日期传递给 hubspot。但它显示以下错误消息[消息] => 1462127400 是 22:8:47.400 UTC,不是午夜! 如何使用 PHP 将日期转换为 UTC 午夜格式 最佳答案
我试图将日期传递给 hubspot。但它显示以下错误消息[消息] => 1462127400 是 22:8:47.400 UTC,不是午夜! 如何使用 PHP 将日期转换为 UTC 午夜格式 最佳答案
我想使用 Quartz 的 CronTrigger 每 24 小时安排一个组件例如-午夜。 以下表达式每 5 秒运行一次 CronScheduleBuilder.cronSchedule("0/5 *
我有一列包含一系列时间戳的列。最初我认为它们在 Unix 时间戳系统中,所以我使用以下代码将它们转换为日期时间。 big_frame['date'] = pd.to_datetime(big_fram
我是一名优秀的程序员,十分优秀!