year2038相关内容

为什么时间戳限制为 2038?

我刚刚在运行日历脚本时发现,PHP 中的时间戳限制为 2038.这到底是什么意思?为什么是 2038 而不是 2050 或 2039?如果时间戳只计算给定日期(1970 年)的秒数,为什么要限制? 解决方案 限制是由大多数 C 库用于表示该计数的 4 字节有符号整数强加的.快速数学(假设 365 天年,不完全正确): 2147483648 秒 ~ 68.1 年 这也意味着下限约为 19 ..
发布时间:2022-01-13 08:45:14 PHP

在 PHP 中访问 2038 年以后的日期

我的理解是,由于 PHP 使用毫秒表示日期的性质,您不能表示 2038 年之后的日期.我有一个问题,我想计算远在未来的日期.几千年后. 显然,由于限制,我不能使用 php date 函数来表示这个日期,但是,我有一些东西在我身边......我想要做的就是存储年、月和日.我不关心小时、分钟、秒和毫秒. 我是否正确地认为,如果不包括这些额外信息,我应该能够对未来进行更远的计算,因为我愿意丢 ..
发布时间:2022-01-13 08:34:41 PHP

System.currentTimeMillis() 何时会溢出?

我有一个网络应用程序,它使用一个很长的时间戳来订购东西.我的 Web 应用程序后端恰好是用 Java 编写的,所以我正在使用: long timestamp = System.currentTimeMillis(); 这将在哪一年(大约)失败?我的意思是在某个时候, long 的范围会溢出,对吗?我们可能都死了很久,但我只是好奇.会不会再次像 y2k 一样?我可以做些什么来为此做准备?可笑,我 ..
发布时间:2021-12-23 19:22:54 Java开发

2038年我们应该做哪些准备?

我想我今天编写的一些软件将在 30 年后使用.但我也知道,其中很多都是基于 UNIX 传统,将时间表示为自 1970 年以来的秒数. #include #include #include 无效打印(time_t rt){struct tm * t = gmtime(&rt);puts(asctime(t));}int main() {打印(0);打印(时间(0));打印(LONG_MAX);打印 ..
发布时间:2021-12-14 23:52:35 服务器开发

在 PHP 中访问超过 2038 年的日期

我的理解是,由于 PHP 使用毫秒表示日期的性质,您不能表示 2038 年以后的日期.我有一个问题,我想计算未来很远的日期.数千年后. 显然,由于限制,我无法使用 php date 函数来表示这个日期,但是,我有一些东西在我身边......我想要做的就是存储年、月和日.我不在乎小时、分钟、秒和毫秒. 我是否正确地认为,如果不包含这些额外信息,我应该能够在未来进行更多计算,因为我愿意丢弃 ..
发布时间:2021-12-10 09:26:39 PHP

PHP &mySQL:2038 年错误:它是什么?如何解决?

我想使用 TIMESTAMP 来存储日期+时间,但我读到它有 2038 年的限制.与其大量问我的问题,我更喜欢把它分解成小部分,这样新手用户也很容易理解.所以我的问题: 2038 年的问题究竟是什么? 为什么会发生以及发生时会发生什么? 我们如何解决? 是否有任何可能的替代方法来使用它,并且不会造成类似的问题? 当所谓的问题真正发生时,我们可以对使用 TIMESTAMP 的现有应用程 ..
发布时间:2021-11-20 21:17:34 PHP

时间();2038年之后?

php 函数 time(); 会在 2038 年后起作用吗? 解决方案 当然,届时 PHP 42.1.3 将原生支持 64 位整数. ..
发布时间:2021-09-07 19:54:43 PHP

将大于maxint的时间戳转换为日期时间对象

我有一些代码可以将一些存储为字符串的时间戳转换为datetime对象,今天注意到了例外,当它转换的int时间戳值大于最大int时。 datetime.datetime.fromtimestamp(2147570047) 例如我 ValueError:时间戳超出平台time_t的范围time_t 如何解决这个问题?假设我想继续使用32位python ..
发布时间:2020-10-18 23:24:34 Python

PHP DateTime setTimezone 2038

我在项目中使用DateTime转换所有日期(从UTC到欧洲/维也纳)。现在我的日期超过2038,并且无法获得正确的时间。 示例代码: $ met =新的DateTimeZone('欧洲/维也纳'); $ utc =新的DateTimeZone('UTC'); $ date = new DateTime(’2043-08-04 08:00:00’,$ utc); $ d ..
发布时间:2020-10-18 23:02:02 PHP

为什么时间戳限制为2038?

我刚刚发现,运行日历脚本时,PHP中的时间戳限制为2038年.这实际上是什么意思?为什么是2038,而不是2050或2039?如果时间戳记仅是从给定日期(1970年)起算的秒数,为什么还要设置限制? 解决方案 限制是由大多数C库用来表示该计数的4字节带符号整数强加的.快速数学(假设365天年,并非完全正确): 2147483648 seconds ~ 68.1 years 这也意 ..
发布时间:2020-05-27 00:04:03 PHP

正确的方法来存储2037年之后的MySQL日期

我正在尝试在MySQL中将 date()字段存储到 2037 年的连续日期. 例如:2065-12-01 问题在于该字段正在返回:1969-12-31 在DB上记录这些值的正确方法是什么?我应该使用 VARCHAR 吗? 我这样计算date字段的值: $future_date = date('Y-m-d', strtotime("+$number_years_to_ ..
发布时间:2020-05-15 06:09:56 PHP

PHP& mySQL:2038年Bug:这是什么?怎么解决呢?

我当时正在考虑使用TIMESTAMP来存储日期和时间,但是我读到它有2038年的限制.我不想将问题大量散发,而是将其分解成小部分,以便新手用户也易于理解.所以我的问题是 2038年的问题到底是什么? 为什么会发生?何时发生? 我们如何解决? 是否有使用它的其他可能的选择,而不会引起类似的问题? 当使用TIMESTAMP的现有应用程序真正发生时,我们该怎么办? 谢谢. 解决 ..
发布时间:2020-05-14 19:17:39 PHP

将纪元转换为DateTime SQL Server(超过2038年)

如果纪元超过2038年,如何将纪元转换为DateTime SQL Server? 将纪元转换为DateTime SQL Server 中的答案将不起作用. /p> 示例: SELECT DATEADD(ss, 2713795200000 / 1000, '19700101') 2055年12月30日,星期四,格林尼治标准时间 解决方案 DATEADD函数将INT假定为日期的增 ..
发布时间:2020-04-30 11:34:23 数据库

为什么std :: chrono :: time_point不足以存储struct timespec?

我正在尝试最近的 std :: chrono api,我发现在64位Linux架构和gcc编译器中 time_point 和 duration 类不能以最大分辨率(纳秒)处理操作系统的最大时间范围。事实上,这些类的存储似乎是一个64位整数类型,与 timespec 和 timeval 相比,它们在内部使用两个64位整数,一个秒和一个纳秒: #include #include ..
发布时间:2018-04-20 17:40:35 其他开发