【问题标题】:Ascertain DST for Future Date确定未来日期的 DST
【发布时间】:2014-09-05 01:51:19
【问题描述】:

一个 JavaScript 新手,我花了很长时间试图解决这个问题: 我允许访客预订未来的会议日期和时间(在访客的当地时间)

我在英国时间,虽然不想限制可用的会议时间,但想向访问者展示他们请求的日期/时间的英国时间。

所以我从访问者那里得到未来的日期,得到他们当地的时区偏移量,所以现在我需要确定(对于会议日期)访问者的本地时间和/或英国时间是否受 DST 约束并做出必要的调整。

我看到了确定 DST 是否对当前日期有效的函数,但我看不到一个函数可以对未来的日期或不同的时区执行相同的操作。 是否有这样的功能,或者我是否需要找到访问者的 TZ 并根据时区开始日期/结束日期列表运行未来日期?

问候, 尼克

【问题讨论】:

  • 不直接回答这个问题,但假设你有某种后端代码在使用,它是什么?例如,.Net 日期对象会很容易地为您处理这个问题 - 执行 ajax 请求来处理这个问题可能更容易?
  • 看起来setTimeZone 提供了类似的功能 - 根据this post 它应该也自动为您处理夏令时
  • 感谢您的链接和信息,我正在寻找一个用于即时显示的 js 解决方案,但如果 js 不能轻松处理它,它看起来像 php 可以。再次感谢您的帮助

标签: javascript date future dst


【解决方案1】:

正如 James 在问题 cmets 中建议的那样,最好在您的后端代码中完成此操作。您说您使用的是 PHP,所以您应该查看 DateTimeZone::getTransitions,或者也许查看 IntlCalendar::inDaylightTime

但是,有一些解决方案可以在 JavaScript 中处理时区。您需要libraries listed here 之一。特别是,您可能想查看moment-timezone,您可以这样做:

moment.tz('2015-07-01','Europe/London').isDST()

【讨论】:

    猜你喜欢
    • 2020-05-10
    • 2023-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-31
    相关资源
    最近更新 更多