问题标签 [timezone]

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 回答
1674 浏览

c - 如何在 Win32 C 中将 GMT 转换为 LocalTime?

我想将历史上的各种位置/日期/时间从 GMT 转换为当地时间。似乎SystemTimeToTzSpecificLocalTimeFileTimeToLocalFileTime. 当日期/时间对还包括不同的位置时,转换会变得很棘手。我在ftp://ftp.iana.org/tz/releases找到了一个数据集— 是ftp://elsie.nci.nih.gov/pub/ — 从历史和空间来看,这似乎很完整,但是它似乎被设计为针对一个时区而不是所有时区进行编译。

GetDynamicTimeZoneInformationGetTimeZoneInformationForYear功能仅在 Vista / Server 2008 开始可用,我的机器回到 NT 4.0。我可能会尝试有条件地在较新的系统上使用它们。

是否有一个不错的 C 包可以为我解决 Windows XP 和 NT 4.0 的问题?

0 投票
16 回答
425870 浏览

javascript - 以用户的语言环境格式和时间偏移显示日期/时间

我希望服务器始终在 HTML 中以 UTC 格式提供日期,并让客户端站点上的 JavaScript 将其转换为用户的本地时区。

如果我可以以用户的语言环境日期格式输出,则可以加分。

0 投票
7 回答
15235 浏览

java - 从字符串中提取 TimeZone 对象的最佳方法?

我有一个包含原始日期字段(存储为字符数据)的数据库字段,例如

东部夏令时间 2008 年 9 月 26 日星期五晚上 8:30

我可以使用 SimpleDateFormat 轻松地将其解析为日期

我想做的是从这个字符串中提取一个 TimeZone 对象。此应用程序运行的 JVM 中的默认时区是 GMT,所以我不能.getTimezoneOffset()Date上面的解析中使用(因为它会返回默认时区)。

除了标记原始字符串并找到 Timezone 字符串的起始位置(因为我知道格式将始终是EEEE, MMMM dd, yyyy hh:mm aa zzzz)之外,还有一种方法可以使用 DateFormat/SimpleDateFormat/Date/Calendar API 来提取 TimeZone 对象 - 这将具有相同的 TimeZone作为我解析的字符串DateFormat.parse()

在 Java API 中让我对Datevs感到困扰的一件事是,它应该在所有地方都被替换......但后来他们决定,哦,嘿,让我们仍然在类中使用's 。CalendarCalendarDateDateDateFormat

0 投票
5 回答
2885 浏览

java - 从Java中的邮件日期标头中提取时区的最佳方法?

我需要存储发送电子邮件的时区。从电子邮件的“日期:”标题(RFC822 日期)中提取它的最佳方法是什么?将它存储在数据库中的推荐格式是什么(我使用的是休眠)?

0 投票
4 回答
47551 浏览

python - 如何在 python 中使用带有 datetime 对象的时区?

如何在我的时区中正确表示不同的时区?下面的示例仅适用,因为我知道 EDT 比我早一小时,所以我可以取消注释 myTimeZone() 的减法

0 投票
3 回答
1378 浏览

windows-mobile - 如何在 Windows Mobile 上为 PDA 检索时区选择

有没有办法在 Windows Mobile 中检索时区选项以便在 GUI 中显示它们?最好不必每 15 分钟显示一次,以便能够显示加德满都的 GMT+5:45。

0 投票
3 回答
741 浏览

linux - Apache 配置帮助——为什么不同的进程“在”不同的时区?

我在 VPS 服务器(运行 Debian)上运行 Apache 2。我最近将服务器上的时区(使用 dpkg-reconfigure tzdata)从 America/New_York 更改为 America/Los_Angeles 以匹配我在全国范围内的移动。进行更改后,我还重新启动了虚拟机。

但是,Apache 进程似乎在时区之间来回移动。请参阅 access_log 中的此片段:

它从 23:01 跳到 02:01 并返回。知道如何保持一致吗?

0 投票
2 回答
1871 浏览

c# - 检测和存储 Web 应用程序客户端所在时区的最佳方法是什么?

我有一个多时区 Web 应用程序,它以 UTC 格式将所有日期时间值存储在数据库中,当服务器上发生操作时,我可以轻松地将时间转换为 UTC。

但是,当客户端输入时间或时间跨度时,检测和存储它的最佳方法是什么?

我目前正在执行以下操作:

  1. 获取 Date.getTimezoneOffset() 的值 (javascript)
  2. 通过 Page 上的 ICallbackEventHandler 将其发布到服务器端代码。
  3. 将该值存储在会话中
  4. 在任何后续请求中,使用客户端的时区计算输出/输入日期时间值。

不管实际实现如何,这似乎是一个不优雅的解决方案。有没有人有更好的方法?

0 投票
8 回答
30533 浏览

.net - 如何使用缩写的时区显示 DateTime?

我知道System.TimeZone类以及DateTime.ToString()方法的许多用途。我找不到的是一种将 DateTime 转换为字符串的方法,该字符串除了时间和日期信息之外,还包含三个字母的时区缩写(实际上,与 StackOverflow 的相对工具提示大致相同)时间显示工作)。

为了让每个人都能轻松理解和使用示例,让我们继续 StackOverflow 示例。如果您查看显示相对时间的工具提示,它会显示完整日期、时间(包括 12 小时格式的秒数)、AM/PM 名称,然后是三个字母的时区缩写(在他们的情况下,协调世界时)。我意识到我可以通过使用内置方法轻松获取 GMT 或 UTC,但我真正想要的是本地时间——在本例中,是在 Web 服务器上。

如果我们的 Web 服务器正在运行 Windows Server 2k3 并且它的时区设置为 CST(或者,直到夏令时切换回来,CDT 是吗?),我希望我们的 ASP.NET Web 应用程序显示相对于该时区的 DateTimes以及格式化以在末尾显示“CST”。我意识到我可以很容易地对此进行硬编码,但出于稳健性的考虑,我真的更喜欢基于运行代码的操作系统环境设置的服务器的解决方案。

现在,除了时区缩写外,我使用以下代码拥有所有内容:

其中显示:

2008 年 10 月 7 日下午 3:40:31

我想要的(这并不多,承诺!)就是让它说:

2008 年 10 月 7 日下午 03:40:31 CDT

我可以使用 System.TimeZone.CurrentTimeZone 并使用它来正确显示“Central Daylight Time”但是......为了简洁起见,这有点太长了。然后我是否坚持编写字符串操作例程来去除空格和任何非大写字母?虽然这可能有效,但对我来说这似乎令人难以置信......

谷歌搜索和查看这里并没有产生任何适用于我的具体问题的东西。

0 投票
3 回答
46395 浏览

sql - 在 T-SQL 中确定时区偏移量

我的数据库应用程序将部署在不同时区的多个站点。

我需要一个 T-SQL 函数来确定今年 1 月 1 日午夜的 UTC 时间戳以进行 YTD 计算。所有数据都存储在 UTC 时间戳中。

例如,芝加哥是 UTC-6 夏令时 (DST),如果在 2008 年的任何时间在芝加哥运行,该函数需要返回“2008-01-01 06:00:00”。如果明年在纽约 (GMT-5 + DST) 运行,则需要返回 '2009-01-01 05:00:00'。

我可以从YEAR(GETDATE()). 我想我可以做一个DATEDIFFbetween GETDATE()andGETUTCDATE()来确定偏移量,但结果取决于查询是否在 DST 期间运行。我不知道任何用于确定偏移量或当前时间是否为 DST 的内置 T-SQL 函数?

有没有人在 T-SQL 中解决这个问题?我可以对其进行硬编码或将其存储在表格中,但不希望这样做。我想这是在 SQL Server 2005 中使用 CLR 集成的完美情况。我只是想知道是否有我不知道的 T-SQL 解决方案?