当前位置: 首页 > 知识库问答 >
问题:

如何处理夏时制时区偏移?

臧增
2023-03-14

在我的网站中,用户A创建了一个从上午9:00开始的事件。我将该时间转换为GMT,这样,如果用户B在两小时前的不同时区看到该事件,它可以转换为用户B的时区,并显示该事件在11:00AM开始。

我唯一的想法是,当我得到如下所示的时区偏移量时,我是否应该总是将日期设置为一月,以便无论实际月份如何,我总是得到相同的时区偏移量?或者有没有更好的方法来处理这件事?

d = new Date();
d.setMonth(1);
d.getTimezoneOffset()

共有1个答案

太叔栋
2023-03-14

getTimeZoneOffset返回的时区偏移量是针对方法被调用的日期,而不是当前时间。所以只要总是询问你正在显示的事件的时区,你就应该没事了。

但是,请注意,如果您正在安排一个重复发生的事件,则需要将时间存储和处理为本地时间,而不是通用时间。否则,每当夏令时开始或结束,会议时间就会增加一个小时。

 类似资料:
  • 我创建了以下示例代码来演示这种行为,并展示我提出的解决方案。 } 产出:

  • 我的服务api接收quartz作业的startDate和要执行的作业的day。在内部,我将其转换为cron表达式并保存在Quartz中。 例如,PST中的一个用户今天(2017年11月3日)提交了一个作业请求,如下所示。 在这里,用户希望从2017-11-03开始,在每月15日下午6点启动一个工作。所以石英的第一天将在2017-11-15。以上请求是如何转换为cron表达式,这是正确的。下面是QR

  • 问题内容: 只是为了验证这一点:我有这种la脚和脑死法,可以计算当前位置的时区偏移量。我想知道是否在需要调整“夏令时”时需要进行调整(目前,我所在的位置为CET时区,所以是“冬季时间”,因此很难验证)。 感谢您的任何提示。 问题答案: 通常,Joda时间会自己照顾DST,因此您不必担心。但是,我注意到您正在传递给getOffset()。鉴于时区偏移量取决于日期,因此您确实应该传递计算偏移量的日期/

  • 假设我的Windows server应用程序运行在东部时区(NY)。 我将每个datetime事件(发生的那一刻)转换并存储在UTC中,这样连接到服务器的任何客户端应用程序都可以读取事件的UTC时间,并将其转换并显示在客户端自己的TZ中。 但这里有一个棘手的部分,一些事件以另一个州的时间报告他们的时间戳,但没有明确指定夏时制信息(例如xx:xx:xx AM PT,意思是太平洋时间,但我不知道当前是

  • 问题内容: 我想将joda设置为今天凌晨2点(请参见下面的示例代码)。但是我得到了这个例外: 解决上面的异常或在一天的特定时间创建异常的正确方法是什么? 样例代码: 谢谢。 问题答案: 似乎您正在尝试从特定的本地时间到达实例,并且您希望该功能对日光节约具有强大的作用。试试这个…(请注意,我在美国/东部,所以我们的过渡日期是2011年3月13日;我必须找到正确的日期来获取您今天遇到的例外。下面更新了

  • 问题内容: 我知道相反。给定一个时区,我可以通过以下代码片段获取时区偏移量: 我想知道如何从时区偏移量获取时区名称。 鉴于 (以毫秒为单位; +6.00偏移) 我想得到以下任何可能的时区名称的结果: 问题答案: 用