问题标签 [timezone-offset]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3247 浏览

javascript - Date.getTimezoneOffset 倒置?

我的服务器收到 JSON 响应,以秒为单位提供 UTC Unix 时间戳。我将其解析为将在图表中使用的 JavaScript 日期(在用户的语言环境中显示时间)。

Date根据_ getTimezoneOffset()_ MDN,将两者都转换为毫秒,并返回总和。现在我在用户的语言环境中有一个 JavaScript 友好的 Unix 时间戳。

但是,我没有。

事实证明,(new Date()).getTimezoneOffset()在 GMT-5 中返回(正)300,在 GMT+2 中返回 -120。为什么偏移量会反转?我本来希望偏移量与时区的符号相匹配 - 即:我需要减去 300 分钟才能到达 GMT-5,并添加 120 分钟才能到达 GMT+2。相反,我必须减去返回的值getTimezoneOffset

0 投票
1 回答
1973 浏览

php - UNIX 时间戳 (0):欧洲/伦敦返回 UTC+1

学习约会,他们现在让我很难过。

结果:

UTC +0:00因此午夜不应该是伦敦吗?例如,New York 返回上一个日期的 19:00,这是正确的UTC -5:00。莫斯科返回01-01-1970 03-00-00这又是不正确的(UTC +3:00而不是UTC +4:00

但是,当不使用->setTimestamp时,伦敦当前时间会正确呈现。

实时代码: http ://sandbox.onlinephpfunctions.com/

另外,我的本地时区是Europe/PragueUTC +1:00)。也经过测试date_default_timezone_set('Europe/London')

我认为我的逻辑有一些错误?

0 投票
1 回答
929 浏览

javascript - BST 机器上的 Javascript GMT/BST 日期

我有一个始终将日期存储为 UTC 的网络应用程序,但它们需要分别以 GMT/BST 的形式向用户显示。

我有一个 UTC/GMT 日期(2013 年 3 月 30 日 22:00),我每小时移动一次以跨越 GMT/BST 边界。我正在使用该setTime()方法操纵日期。

所以,我输入的时间戳、显示时间、UTC时间如下:

  • 1364808000 - 22:00 GMT+0000 - 22:00
  • 1364685500 - 23:00 GMT+0000 - 23:00
  • 1364688000 - 00:00 GMT+0000 - 00:00
  • 1364691600 - 02:00 GMT+0100 - 01:00
  • 1364695200 - 03:00 GMT+0100 - 02:00
  • 1364698800 - 格林威治标准时间 04:00+0100 - 03:00

当机器处于 GMT 时,它输出:

  • 1364808000 - 22:00 GMT+0000 - 22:00
  • 1364685500 - 23:00 GMT+0000 - 23:00
  • 1364688000 - 00:00 GMT+0000 - 00:00
  • 1364691600 - 02:00 GMT+0100 - 01:00
  • 1364695200 - 03:00 GMT+0100 - 02:00
  • 1364698800 - 格林威治标准时间 04:00+0100 - 03:00

当机器处于 BST 时,它输出:

  • 1364808000 - 22:00 GMT+0000 - 22:00
  • 1364685500 - 23:00 GMT+0000 - 23:00
  • 1364688000 - 00:00 GMT+0000 - 00:00
  • 1364691600 - 00:00 GMT+0000 - 01:00
  • 1364695200 - 格林威治标准时间 02:00+0100 - 02:00
  • 1364698800 - 03:00 GMT+0100 - 03:00

现在,在我看来,最后 3 个日期是不正确的。

有任何想法吗?

这是一个小提琴:http: //jsfiddle.net/twilson/WRbyh/

0 投票
1 回答
953 浏览

date-format - 使用 Google Charts 和 Epoch 格式化日期

我有一个纪元 1362873600,我只关心日期部分,而不是时间。

我的目标是:03/10/13

我正在执行以下操作:

我已经尝试将 epochValue 作为字符串和 int。

两者都产生:对象 1362873600 没有方法 'getTimezoneOffset'

是否有一个选项我可以用来忽略时区部分?formatValue 期望有什么 getTimezoneOffset 方法?文档只是说“价值” 。

0 投票
1 回答
3429 浏览

javascript - 谷歌脚本日期显示错误的“小时”

我感觉好像我已经翻阅了几乎所有关于 JS 和 GAS 中日期的文档。特别是关于夏令时问题。因为在 DST 更改之前我没有遇到过这样的问题。我想我错过了一些简单的东西。问题是,尽管设置了所有设置,但格式实用程序输出的日期时间仍然不正确。下面是调试器的屏幕截图和我正在运行的代码片段。值“日期”是我所关心的。它是在第 53 行的脚本中创建的。

我在KC。(中部时间或 UTC-06:00 或其他)。

我有一种感觉,这对我来说将是一个面对面的时刻,但是哦,好吧!感谢您的任何帮助!

调试输出

0 投票
2 回答
9167 浏览

android - Android 时区和 DST 问题

我有一个使用时间表的应用程序。用户选择时间表应该开始/结束的时间,然后我将开始/结束时间显示给用户。问题是,显示回来的时间是关闭的,因为 DST 改变了。

我可以解决我的时区(东部时间)的问题,或者我可以解决 GMT 的问题,如果我为 GMT 设置特定情况,阿拉斯加时间仍然是错误的。有什么建议么?

这是我的代码:

显示的时间:

获取时间偏移:

我认为我需要类似的东西:

但如果我这样做,那么东部时间显示的时间比它应该少 1 小时,而阿拉斯加时间显示的时间少 2 小时。如果我反其道而行之:(- 而不是 +)

那么东部时间比它应该多 1 小时,但阿拉斯加时间是正确的。

附录:

我也尝试过tz.getOffset(new Date().getTime())在每种情况下使用而不是tz.getRawOffset(). 这实际上是我尝试的第一件事,因为根据谷歌的文档,这个函数应该为你处理 DST。

结束附录

我也尝试过使用日历,如下所示:

这给出了美国东部标准时间的正确时间,但格林威治标准时间提前 1 小时,阿拉斯加时间落后 1 小时。我试过这个:

但这使 EDT 缩短了 1 小时。

我也试过这个:

这也使 EDT 缩短了 1 小时。

如果我使用,我会得到相同的结果

代替

我该如何正确地做到这一点???

0 投票
3 回答
1319 浏览

ios - Objective-C中日期的GMT偏移量

我只需要日期的 GMT 偏移量。我正在使用这种方法

实际上在柏林,德国 DST 将在 2013 年 3 月 31 日开启,时间将在凌晨 2:00 更改。问题是我只想使用日期来偏移 GMT。如果日期 = 31-3-2013 00:00:00,则返回 +1。它在 31-3-2013 02:00:00 之后返回 +2。有没有什么方法/方式可以在不使用时间组件的情况下获得时区偏移量?

0 投票
1 回答
1029 浏览

java - Jodatime 时区转换

我正在使用 Joda 时间来验证带有时区的时间戳。当我通过无效的日期或时间时,它按预期工作。例如,当我以秒为单位传递 99 时,它给出了以下错误:

我期待它会抛出类似的异常,因为我也通过了无效的时区。我期待 UTC 偏移值小于 -12 且大于 +14 小时(http://en.wikipedia.org/wiki/List_of_time_zones_by_UTC_offset)。当偏移值超过 23 小时时,它确实给出了以下错误。

我想我遗漏了一些东西,因为它表明 24 小时内出现错误。有人可以解释为什么它允许偏移值 < -12 和 > 14 小时。

下面给出了一个示例程序,输出不同的偏移量:

谢谢,

阿南德

0 投票
1 回答
30528 浏览

java - EST 时区与 EST5EDT 有何不同?

EST 与 EST5EDT 有何不同?EST 不考虑 DST 吗?

我写了一个小的 java 片段来找出差异,输出说 EST5EDT 考虑了 DST 而 EST 没有

但是下面的片段产生了令人震惊的输出

有人可以解释一下这里到底发生了什么吗?为什么 getRawOffset 返回 5 而不是 4 ?如何使用 DST 获取时区偏移量?

0 投票
5 回答
6387 浏览

python - 在 Python 中调整日期时区的优雅方法

我住在英国,正在努力应对夏令时 BST 和时区。

这是我的代码:

设置这样的变量感觉非常错误,但是如果没有大量代码,我找不到任何优雅的方法来实现上述目标。我是否遗漏了什么,有没有办法(例如)读取系统时区?