问题标签 [y2k]
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.
.net - 处理 Y2K 日期转换的首选方法?
是否有将 2 位数年份转换为 4 位数年份的首选算法?
我有一个要转换为 C# 的 2 位出生日期(以及月份和日期)DateTime
。显然,出生日期不可能是未来,但 .NET 中是否存在将 2 位数年份转换为 4 位数年份的现有工具?
ntp - 处理 Y2.036K 和 Y2.038K 错误
我目前正在开展一个项目,要求我们的软件必须至少运行到 2050 年。最近我们遇到了处理 NTP 协议中的 Y2.036K“错误”以及 Y2.038K 错误的问题。基本上,我们的软件必须在这些日期之后继续运行,所有数据都使用正确的时间戳记录。鉴于目前还没有解决这些错误的方法,因此必须采用变通方法。
至关重要的是,我们的软件在这两个事件之后继续运行并正确记录日期。操作系统系统时间是否正确并不重要。鉴于我们使用的是 Java,我们应该能够处理相对于 1900 年黄金时代的日期。但是,如果系统时间设置在 1970 年的 Unix 纪元之前,java JVM 甚至都不会运行!它只是崩溃。
火上浇油,NTP 服务器由另一家供应商提供,我们无法控制它。因此,使用其他协议或修改服务器来处理这些都是不可能的。
需要创造性的解决方案。不用说,必须发生一些深奥的巫术。我们考虑了以下几点:
修改 ntpd 客户端软件以某种方式与 ntp 服务器协作,并从大于 1970 年而非 1900 年的 Unix 纪元的日期偏移本地时间。从而允许 JVM 运行而不会在初始化时崩溃。然后将相对于我们选择的翻转日期处理所有时间戳。(所以基本上,确保我们翻转到一个比 Unix 纪元大的日期)。
让 ntp 更正时间翻转到 1900 纪元并找到修复程序,以便 JVM 不会崩溃。
有没有其他人解决过这个问题?另外,是否还有其他我没有预见到的问题,使这些解决方案中的一个或两个根本不可行?
cobol - Cobol 中是否存在本质上使其易受千年虫问题影响的东西?
我知道很多 Y2K 的努力/恐慌都以某种方式集中在 COBOL 上,无论是否应得。(哎呀,我在 Perl 脚本中看到了 2000 年 1 月 1 日破坏的小 Y2K 错误)
我感兴趣的是,作为一种语言,COBOL 是否有一些特定的东西使它容易受到 Y2K 问题的影响?
也就是说,与大多数用它编写的程序的时代以及随后需要节省由旧硬件驱动的内存/磁盘使用以及没有人预计这些程序能够存活 30 年这一事实相反?
如果答案是“除了年龄之外没有任何特定于 COBOL 的内容”,我非常高兴——只是好奇,对 COBOL 一无所知。
datetime - 是否存在类似于 y2k 的 y2k12 问题?
这是一个有点异想天开的问题,部分灵感来自电影 2012的宣传,但它可能对软件系统产生真正的影响。(如果不是在 2012 年,那么肯定是在 2038 年。)
2012 年有各种各样的世界末日预测,我想知道是否有一个日期时间/时间戳系统将在 2012 年到期?(我以为我在一年前遇到过,但我不记得具体细节了。我也可能记得 2038 年。)
例如,常用的日期时间系统从 1970/1/1 开始,并从该时间开始按秒计数。如果您将 unsigned int 的最大值作为秒添加到该值,您会得到一个落在 2038 年的日期。准确地说是 2038 年 1 月 19 日凌晨 3:14:07。
那么,是否有一个日期时间系统:
纪元开始 + 常见 int 类型的最大值 = 2012 年的日期?
顺便说一句,我不想煽动任何偏执狂的火焰。这与实际系统设计考虑相一致。
更新甜甜圈发现此页面包含以下参考但没有更多信息:2012-07-13 Fri - UNIX time_t $50000000 at 11:01:20 UTC
有任何想法吗?
y2k - 是什么导致了 2010 年的错误?
有很多关于系统无法理解 2010 年的报告,但我不知道为什么。据我所知,我照顾的当前系统运行良好,但我想知道更好地搜索的实际问题是什么。
有人可以解释一下吗?
编辑:http ://www.rte.ie/business/2010/0105/bug.html - 有关它影响德国信用卡的信息
ui-design - Year dropdown range - when do we stop?
I attended a payroll software demo yesterday wherein the year dropdowns throughout the software ran from 2000 to 2200. Now, we've all been down this road before with 2 digit shortsight, but honestly - a 200 year service life for a Java & Oracle payroll system? Our Board of Directors would be thrilled if the company was even solvent for 1/4th that long.
When forced to use a dropdown year select, where do you draw the line?
datetime - Win32:如何防止 DateTimePicker 接受 2 位数年份?
Microsoft 的DateTimePicker
通用控件根据配置的 Locale 设置显示ShortDate 。客户的计算机配置了 2 位数年份 ShortDateFormat ( d/M/yy
),因此 DateTimePicker 显示 2 位数年份:
当用户将焦点放在日期时间选择器的年份块中时,Microsoft 会指出问题,并显示完整的 4 位数年份:
但随后,想要输入1929
年份的用户键入了一个 2 位数的年份:
然后当他们标出时,当 Windows 将他们的 2 位数年份解释为介于1930
和之间时,他们会感到困惑2029
,并且假定为 2029:
客户制定了一项全球公司政策,该政策规定将 Windows 区域设置配置为 2 位数年份。
因此,作为一种解决方法,我需要使用方便的宏DateTimePicker
强制每个控件使用自定义日期格式:DateTime_SetFormat
这有帮助,所以现在DateTimePicker
now 总是显示 4 位数的年份:
问题是用户仍然可以输入“无效”的 2 位数年份:
根据规则,哪个 Windows 仍在解释为 2029:
我需要日期时间选择器来拒绝 2 位数的年份。
如果这不起作用,那么我将被迫用 3 个编辑框替换每个 DateTimePicker:
22 6 29
我可以将无效数字涂成红色,并指出用户输入的无效数据。
如何防止 DateTimePicker 接受 y2k 错误?
y2k - 为什么存在 y2k 错误?
我得到的解释是,程序员通常用 2 位数字来表示年份。但为什么会有人这样做呢?如果有的话,我认为让程序回滚到 1900 年而不是继续到 2000 年需要更多的努力。
sql - 如何在 SSIS 中将 Y2K 日期转换为 SQL 日期?
我正在使用 SSIS (SQL 2008) 从 AS400 中获取数据。日期值作为 7 位数字存储在 400 中。格式如下:“CYYMMDD” C 是“世纪数字”,其中 0 = 1900 和 1 = 2000。我一直在研究派生列和脚本组件。我对 SSIS 很陌生,所有需要的演员和不同的案例都让我成为一个沉闷的男孩。此外,我正在失去前导零。我不确定这是否是 b/c 它们是数字类型,如果我将它们转换为字符串,我会正确地看到它们。下面是我在使用 SSIS 从 400 直接拉取后在 SQL 中看到的内容。