所以我的问题是关于The end of time (Unix)
,这会发生在虚拟化 32 位版本 Windows XP 的 64 位 Windows 7 操作系统上吗?
答案1
部分是的。我见过一些 ActivePerl 应用程序在本地日期在 2038 年之后时无法运行。这是因为它们使用 32 位 UNIX 样式的 time_t,并且不依赖于主机操作系统(64 位或 32 位 Windows)。
最新的 Microsoft libc 使用 64 位 time_t,但使用 Visual Studio 6.0 编译的旧应用程序依赖于 32 位 time_t,因此它们在 2038 年将出现日期溢出问题。这不会影响使用纯 Windows API(GetFileTime、GetSystemTimeAsFileTime 等)的应用程序,即使它们是使用 Visual Studio 6.0 编译的。
答案2
Windows 存储时间的方式与 Unix 系统不同,Y2038 问题不会影响 Windows XP 或 Windows 7。
答案3
从 Windows 2000 开始,所有 Windows 操作系统都已使用 Win32Time,它不受与 Unix 时间相同的限制。
因此,“时间的终结”不会发生在您的 32 位客户端或 64 位主机上。