问题标签 [y10k]
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.
java - 实现DateTimeFormatter Y10K输出等于SimpleDateFormat?
在为某些日期助手编写单元测试时,我偶然发现了一种DateTimeFormatter
我想了解如何解决的特定行为。
当输出年份 >9999 时,它总是在年份数字前添加一个加号。一些快速代码来说明这一点:
现在,文档说明了年份模式:
如果字母数少于四个(但不是两个),则仅根据 SignStyle.NORMAL 输出负年份的符号。否则,如果超出焊盘宽度,则根据 SignStyle.EXCEEDS_PAD 输出符号。
所以这给出了一个提示,但我仍然一无所知:
如何使DateTimeFormatter
输出与我的示例中的 Y10K+ 日期完全相同的字符串SimpleDateFormat.format()
(= unsigned for positive years >9999)?
sql-server - 处理 OpenQuery 中的无效日期
我在 SQL Server 中针对专有数据库运行 OpenQuery,不幸的是,该数据库选择了过于现代并支持 5 位数的年份,并且作为用户的用户确实设法记录了它们。我编写的代码正在运行,但由于车辆表中有很多日期,因此变得过于复杂。我的工作代码具有以下特点:
我尝试在 openquery 之外测试 recdate 会产生“将数据类型 DBTYPE_DBDATE 转换为日期时出错”。我已经尝试过 is_date() 和 try_cast(),但两者都不是为了处理已经在日期字段中的无效日期。
在开放式查询中,我尝试使用 CONVERT、CAST 和 CASE 语句,但专有数据库似乎不支持这些语句。
有什么建议么?
问候 HamsterJam