问题标签 [year2038]

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

php - PHP 2038 年不是错误吗?

我是 PHP 新手,从我正在阅读的书中,我意识到存在 2038 年的问题,它指出当我使用时间戳时,我可以到达的最远日期将是 2038 年 1 月 19 日。为了克服这个限制,我建议使用 dateTime 对象。但是,当我在 PHP 中测试它时(使用 MAMP 和 PHP 5.6.6),似乎即使我在更大的日期使用时间戳,它也能完美运行。

例如,请注意以下代码:

我想问一下为什么我的 PHP 服务器没有遇到 2038 年的问题?为什么它可以输出正确的值?时间戳不能保持这么大的价值,对吧?

0 投票
2 回答
1242 浏览

php - 2037年后存储MySQL日期的正确方法

我正在尝试在 MySQL 中存储一个date()字段到2037年的连续日期。

例如:2065-12-01

问题是该字段正在返回:1969-12-31

在 DB 上记录这些值的正确方法是什么?我应该使用VARCHAR吗?

我这样计算date字段的值:

0 投票
3 回答
4700 浏览

c - 2038 年嵌入式 Linux(32 位)解决方案?

在 32 位嵌入式 Linux (ARMLinux) 的 C 代码中处理时间的正确方法是什么,以确保代码在 2038 年 1 月 19 日 03:14:07 UTC 之后继续正常工作(当有符号的 32 位time_t溢出时)?鉴于time_t在我必须使用的系统上是 32 位签名的,有哪些替代方案?

大量的谷歌搜索没有发现任何实际用途。每个人似乎都认为到那时我们都将使用 64 位操作系统,但这显然不适用于嵌入式系统。

在我需要使用的系统上,__kernel_time_t定义为long. 这大概意味着 64 位时间没有内核设施。uClibc 的版本是 0.9.29。

我不敢相信我是唯一一个有这个问题的人,我不想重新发明轮子。

0 投票
0 回答
110 浏览

php - 2038 年将 Excel 表格读入 PHP

我有一个使用PHP Excel读取 Excel 表格的 PHP 程序。excel表只有一列格式化为'yyyy-mm-dd hh-mm-ss'。

当我使用 Php Excel 阅读此 excel 表时,一切正常,直到我到达 2038 年以上的日期。

现在,我已经阅读了 2038 问题,我想我可能能够检测到它并在用户输入日期 >=2038 时向用户返回错误消息,但由于日期错误,我不能。

更糟糕的是,它们是作为有效日期出现的。

这是我尝试过的不同值的示例(这是读入 PHP 后的数组):

输出似乎是完全随机的,但仍然是有效的日期。

我希望能够捕获 2038 年以上的日期以向用户返回消息。

我正在运行 PHP 32 位。

这是将其读入数组并打印出来的代码:

想法?

0 投票
1 回答
963 浏览

php - PHP: setcookie() to expire after the year 2038

Currently I'm converting all my PHP unix timestamps to work beyond 2k38 issue.

I noticed that setcookie() expire date parameter uses the unix timestamp. Is there a way to set expire date with alternative method, maybe using the DateTime class somehow?

From the PHP document about expire date:

Note: You may notice the expire parameter takes on a Unix timestamp, as opposed to the date format Wdy, DD-Mon-YYYY HH:MM:SS GMT, this is because PHP does this conversion internally.

0 投票
1 回答
1388 浏览

r - 从每日时间序列转换为每周时间序列时,R apply.weekly() 返回不正确的时间段

我正在处理时间序列数据并遇到apply.weekly(). 似乎在某个日期之后,几周不能正确汇总。

这会生成以下输出:

请注意最后一个时期是 15 天。现在,如果我改为使用 2010 年的日期,我得到的正是你所期望的。也就是说,使用

在上面的代码中生成输出:

我不知道 2038 年有什么奇怪的地方吗?

我在 64 位 Windows 7 Enterprise 上运行此代码,sessionInfo()返回以下输出

0 投票
4 回答
6067 浏览

sql-server - 将 Epoch 转换为 DateTime SQL Server(超过 2038 年)

如果纪元超过 2038 年,如何将纪元转换为 DateTime SQL Server?

Convert Epoch to DateTime SQL Server中的答案将不起作用。

例子:

格林威治标准时间 2055 年 12 月 30 日星期四 16:00:00

0 投票
1 回答
278 浏览

sql-server - 如何在 SQL Server 中删除 Epoch 上的 TIME

如何在 SQL Server 中删除 Epoch 格式的 TIME?

示例: 2713795200000应返回2055 年 12 月 30 日星期四 00:00:00 ,而不是2055年 12 月 30 日星期四 16:00:00 GMT。

0 投票
1 回答
340 浏览

php - php - 在循环中添加时,日期在 2038 年重置为 1970

我一直在尝试根据用户在我的基于 PHP 的 Web 应用程序中提供的一些整数值生成年月列表。这样做时,我遇到了 2038 年的错误,当循环到达 2038 年时,这一年被重置为 1970 年。我使用的 PHP 版本是 5.4,我用谷歌搜索并应用了在这个链接中找到的解决方案,但它对我不起作用,有没有人为 php 中的 2038 错误尝试其他解决方案?

这是我的PHP代码:

.

0 投票
2 回答
506 浏览

perl - 为什么 perl 不能在 2038 年转换 unix 时间戳?

我正在尝试使用以下 perl 命令将纪元时间转换为可读的本地时间:

可以正确转换低于 2038 年的年份,但是对于大于 2038 年的年份数字,我无法得到预期的结果。

请告知如何修复。谢谢。