gpt4 book ai didi

Javascript 日期 : what is the best way to deal with Daylight Savings Time?

转载 作者:可可西里 更新时间:2023-11-01 01:39:38 29 4
gpt4 key购买 nike

在上一个问题中,我写了一个 javascript 日期函数,该函数神秘地停止于 11/07/101。感谢 stackoverflow 用户,我被告知我的问题是夏令时。 Javascript date, is this my error or did I find a bug?

所以我的最后一个问题是在 Javascript 中推荐的处理夏令时的方法是什么?

http://code.google.com/p/datejs/解决这个问题的最佳方法是什么?

最佳答案

最好的办法就是不处理夏令时。使用 UTC 方法,您不必担心跨越 DST 边界或任何其他时区不连续性(语言环境时区规则可能因更多原因而不仅仅是 DST 发生变化)。

var timestamp= Date.UTC(2010, 10-1, 31, 0, 0, 0); // zero-based month: 9->october
var nextday= new Date(timestamp+86400000); // add one day
var ymd= [
nextday.getUTCFullYear(),
nextday.getUTCMonth()+1, // zero-based month
nextday.getUTCDate()
].join('-');
alert(ymd); // 2010-11-1

如果以上是用 new Date(2010, ...)getDate() 等完成的,它会返回 2010-10- 31,由于 DST 更改(无论如何在我所在的区域),日期添加失败。

遗憾的是,Date 中“默认”最明显的方法是关于本地时间的,尤其是因为 JavaScript 为脚本提供的“本地时间”实际是什么的上下文非常少。 UTC 是一个更稳定的命题。

关于Javascript 日期 : what is the best way to deal with Daylight Savings Time?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4110039/

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