Java 8中内置的java.time框架解析了两位数的年份字符串,就像在2000年代一样。因此90
变为2090
。
来自java.time.DateTimeFormatter
课程文档:
如果字母数为2 ......将使用2000的基值进行解析,从而产生2000到2099(含)范围内的一年。
我有数据,其中90
等值表示1990
。
如何将用于解析两位数年份字符串的透视年度更改为1900
而不是2000
?
更好的是,我如何设置任意的透视年份,因为我知道有些数据源具有部分世纪的规则。例如,“如果在80
下,则假设为2000s,否则假定为1900s”。
是的,我知道,使用两位数年份值是很糟糕的。但数据不在我的控制之下。
答案 0 :(得分:0)
只需使用API获取2000-2099范围内的值,并使用一些条件来完成剩下的工作。不要担心尝试更改API本身。