在java.time中将一个两位数的年份解析为1900年而不是2000年?

时间:2016-02-07 21:08:25

标签: java parsing java-time

Java 8中内置的java.time框架解析了两位数的年份字符串,就像在2000年代一样。因此90变为2090

来自java.time.DateTimeFormatter课程文档:

  

如果字母数为2 ......将使用2000的基值进行解析,从而产生2000到2099(含)范围内的一年。

我有数据,其中90等值表示1990

如何将用于解析两位数年份字符串的透视年度更改为1900而不是2000

更好的是,我如何设置任意的透视年份,因为我知道有些数据源具有部分世纪的规则。例如,“如果在80下,则假设为2000s,否则假定为1900s”。

是的,我知道,使用两位数年份值是很糟糕的。但数据不在我的控制之下。

1 个答案:

答案 0 :(得分:0)

只需使用API​​获取2000-2099范围内的值,并使用一些条件来完成剩下的工作。不要担心尝试更改API本身。