问题标签 [dst]

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 投票
2 回答
14197 浏览

excel - 您如何确定 VBA 中的夏令时?

什么函数可以让我们知道 VBA 中的日期是否在 DST 中?

0 投票
2 回答
2973 浏览

c++ - CTimeSpan.GetDays() 和夏令时

我在一个旧的 C++ MFC 程序中发现了一个错误,该程序计算给定日期与固定基准日期的偏移量(以天为单位)。由于某种原因,我们看到结果偏离了一个,我将其追踪到原始程序员使用 CTimeSpan.GetDays() 方法的位置。根据文档

请注意,夏令时可能会导致 GetDays 返回一个可能令人惊讶的结果。例如,当 DST 生效时,GetDays 将 4 月 1 日和 5 月 1 日之间的天数报告为 29,而不是 30,因为 4 月的一天缩短了一个小时,因此不算完整的一天。

我建议的解决方法是(obj.GetTotalHours()+1)/24改用。我认为这将涵盖所有问题,因为这是每天大约在同一时间运行的批处理作业,但我想在实施它之前我会问这里的聪明人是否有更好的方法。

这只是一个附带问题,但我也很好奇如果程序可以随时运行,将如何处理。

0 投票
5 回答
521 浏览

c - 夏令时规则更改是否使 C 运行时库无效?

前段时间,我整理了一个基于时间的库,可用于计算某人一年内的相对时间。我当时注意到,它在两个方向都做了一小时的轮班,以实现夏令时。我突然想到国会改变了夏令时规则。我不记得看到任何有关更新以解决算法更改的信息。有没有人有关于这个话题的任何信息?

0 投票
7 回答
19807 浏览

oracle - 在 Oracle 中,如何检测夏令时开始/结束的日期?

Oracle 中有没有办法为我的语言环境选择夏令时切换的日期?

模糊地等同于这个的东西会很好:

编辑:我希望有一个在国会调整 DST 法律时不需要更改的解决方案,就像他们在 2007 年所做的那样。不过,发布的解决方案将起作用。

0 投票
4 回答
23788 浏览

.net - .NET DateTime.Now 在时区更改时返回不正确的时间

此问题发生在夏令时更改期间。更改发生后,我们注意到我们的服务器应用程序开始写入日志的时间不正确 - 提前一小时,这意味着 .NET 缓存时区偏移量。我们不得不重新启动我们的应用程序来解决这个问题。我写了一个简单的应用程序来重现这个问题。当我在应用程序运行时更改时区时,DateTime.Now 属性会继续生成旧时区的时间。有谁知道除了重新启动应用程序之外是否有解决此问题的方法?

0 投票
5 回答
43620 浏览

c++ - 如何将一天添加到从 time() 获得的时间

我有一个时间表示为自 UTC 1970 年 1 月 1 日午夜以来经过的秒数(早期调用 time() 的结果)。我如何在这个时间上增加一天?

添加 24 * 60 * 60 在大多数情况下有效,但如果夏令时在两者之间打开或关闭,则会失败。换句话说,我主要想增加 24 小时,但有时是 23 或 25 小时。

为了说明 - 程序:

}

产生:

我希望 13 年 3 月 12 日……的时间也是上午 8 点。


FigBug 提供的答案为我指明了正确的方向。但我不得不使用本地时间而不是 gmtime。

给我吗:

这就是我想要的。使用 gmtime 给我 14:00:00 的时间

但是,请注意,所有日子都是星期六。此外,它会到 3 月 32 日、33 日等。如果我加入 mktime 函数,我就会回到我开始的地方:

给我:

我错过了什么???


好的,我已经尝试了 FigBug 的最新建议,即使用:

而不是 asctime,但我得到了相同的结果。所以我猜我的库和/或编译器搞砸了。我在 cygwin 上使用 g++ 3.4.4。我将文件复制到 Solaris 5.8 并在那里使用 g++ 3.3 进行编译。我在那里得到正确的结果!事实上,无论我使用 ctime 还是 asctime 输出,我都能得到正确的结果:

我还在使用 g++ 3.4.6 的 Red Hut Linux 上获得了正确的结果(具有两个输出函数)。

所以我想我遇到了一个 Cygwin 错误。

谢谢大家的帮助和建议......

0 投票
5 回答
3682 浏览

php - 夏令时的PHP日期问题

我在一些 PHP 代码中出现了一个非常奇怪的错误。该页面正在管理课程中的学生注册。页面上是学生的课程表,每一行都有多个日期:他们注册的时间、完成的时间、通过评估的时间以及领取证书的时间。

表格数据由 PHP 生成(从 DB 中提取数据),Javascript 实际渲染表格。PHP 的输出是 JS 代码,看起来像这样:

在数据库中,所有日期字段都存储为DATE(不是DATETIME)字段。

错误是日期显示为休息一天。我怀疑这与服务器位于有夏令时的区域有很大关系,而这里没有(意味着服务器时间关闭一小时)。这解释了很多,尤其是数据准备和渲染是如何在两个不同的时区完成的。即:服务器告诉客户端此人在 8 月 15 日午夜完成,客户端将其解释为 14 日晚上 11 点,因此显示为 8 月 14 日。

但这是令人困惑的部分:它只对 resultDate 和 certDate 字段这样做!我已将数据复制到本地服务器,并发现生产服务器实际上只是为这两个字段发送了不同的时间戳(一个相差 1 小时),而 dateEnrolled 字段是相同的。

这是使用数据库中完全相同的代码和数据的输出:

我可以理解这是否是夏令时未考虑的问题,但请注意 dateEnrolled 是如何相同的?

将 MySQL 日期转换为 unix 时间戳的 PHP 代码如下:

关于如何解决这个问题的任何想法?

0 投票
2 回答
1857 浏览

java - Java/J2me 中时区的通用格式

我们正在开发一个 j2me 应用程序,用于将联系人同步到服务器/从服务器同步。我们正在为每个联系人存储更新和创建时间(长磨秒),以进行冲突解决/同步计算。

现在,由于客户端和服务器应用程序可以位于不同的时区,如何以标准格式(以注意不同时区和夏令时)存储时区时间,以便在客户端和服务器端进行计算。

0 投票
2 回答
38063 浏览

oracle - Oracle TIMESTAMP WITH TIMEZONE 命名区域与偏移量

在 oracle 中,是否始终存储命名时区?

我一直在我们的系统中测试这个专栏,在某些地方时间戳显示为:

但其他时候是:

如果该值作为前者存储,这是否意味着未存储实际时区?

我担心,因为如果未来日期仅存储一个偏移量,我们可能无法确定原始时区的实际时间,因为您可以确定时区的偏移量,但反之则不行。

谢谢

0 投票
1 回答
164 浏览

dst - 在夏令时开始之前,我需要在支持环境中做什么?

我的公司正在支持美国客户的以下应用程序:

IBM 大型机、DB2、Unix、Teradata、甲骨文、SQL Server 2005、劳森

由于夏令时将在下个月开始,我想知道您对我们应该注意什么以避免任何不良事件的一般想法?

谢谢,维沙赫