【问题标题】:add daylight saving time into time conversion将夏令时添加到时间转换中
【发布时间】:2014-03-19 16:30:35
【问题描述】:

我有一段代码可以将用户日期转换为 PST,但它不包括夏令时我错过了什么吗?

任何帮助都会非常感谢。

var offset = -8;
var test = new Date(new Date().getTime() + offset * 3600 * 1000).toUTCString().replace(/ GMT$/, "")
alert(test);

【问题讨论】:

  • 如果您想要可靠的时区支持,您可能应该使用库:momentjs.com/timezone
  • 每当我需要在 JavaScript 中处理日期时,我都会让日期库为我处理这项工作。尝试使用 moment.js 之类的东西。
  • @FelixKling 但他的​​计算有什么问题? (很有趣)
  • @RoyiNamir:据我所知,什么都没有。 PST 确实是 UTC - 8。但是,在加利福尼亚,我们已经从 PST 切换到 PDT,即 UTC - 7。也许这就是 OP 真正想要计算的。
  • @FelixKling 但 gmt 就像 UTC 没有?

标签: javascript jquery


【解决方案1】:

做日历和时区是困难。为什么不省去自己的麻烦并考虑使用momentjs 或moment-timezone 之类的东西。如果不出意外,您可能会通过该源代码找到一些灵感。

【讨论】:

    【解决方案2】:

    我肯定会推荐使用库来处理这类事情,Moment.js 是一个很好的选择。

    Link

    使用这样的库可以处理夏令时、闰年等问题。 在我看来,在自己的代码中做这样的事情是浪费时间,很容易产生经常发现得太晚的错误。

    有关使用 Moment.js 执行与您尝试执行的操作类似的操作的示例,请参阅此答案:Stack Overflow

    【讨论】:

      猜你喜欢
      • 2014-11-28
      • 1970-01-01
      • 2016-08-10
      • 2017-08-28
      • 2021-01-16
      • 1970-01-01
      • 2021-03-09
      • 2018-04-12
      • 2013-01-15
      相关资源
      最近更新 更多