当前位置: 首页 > 知识库问答 >
问题:

在java.time中,将两位数的年份解析为1900s而不是2000s?[副本]

满和安
2023-03-14

Java.time框架内置在Java8和更高版本中,它将两位数的年份字符串解析为2000年代。所以90变成2090

来自java.time.DateTimeFormatter类文档:

是的,我知道,使用两位数的年值是愚蠢的。但数据不在我的控制之下。

共有1个答案

金谭三
2023-03-14

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

 类似资料:
  • 使用Java8,下面的代码将“18”解析为年份“0018”,而不是“2018”。 “m/d/yy”抛出4位数年份的异常,并将“01/05/97”解析为“2097-01-05”。理想情况下,应该将其解析为“1997-01-05”。 “m/d/yyyy”抛出异常2位数年。

  • Excel单元格的日期格式为,显示日期为4位年份。然而,POI以另一种格式返回日期。单元格样式返回相同的格式,带有2位year。 有没有可能用POI获得与我在Excel中看到的格式相同的格式?

  • 我们有一个带有Springfox 2.9.2的Spring Boot 2应用程序来描述API,我们用Swagger注释@ApiModelProperty标记了我们的API。我们的API中有类似的内容: 我们通过 Springfox 配置了 Swagger2,如下所示: 你知道为什么大摇大摆的人工作不正常吗?

  • 问题内容: 首先让我解释一下这个问题。 我的Golang应用程序中包含了JSON记录流。它基本上将这些转发到数据存储(InfluxDB)。JSON中有一些整数值,还有一些浮点值。必须将它们与原始数据类型一起转发到数据存储。否则,将发生类型冲突,并且写入操作将失败。 Ruby JSON解析器可以轻松做到这一点: Golang中的软件包确实有一些麻烦(所有数字都解析为浮点数): 哪些打印: 我需要一种

  • 问题内容: 在Mac OS X(Mavericks)上的Java 8(b132)的第一个发行版中,使用新包的此代码有效: 渲染: 但是,当我在DateTimeFormatter类doc中指定的几分之一秒内添加“ SS”(并输入“ 55”)时,将引发异常: 文档说严格模式是默认使用的,并且需要与输入数字相同数量的格式字符。所以我很困惑为什么这段代码失败: 使用文档(“ 978”)中的示例的另一个示例

  • 问题内容: java.time中的类提供了三种方法来生成字符串来表示包括年份的值。例如,。 对于我所见的语言环境,较短的样式中的年份仅是两位数。 如何让java.time本地化却 强制年份为四位数 而不是两位? 我怀疑答案在课堂上。但是我找不到改变年份长度的任何功能。我还细读了Java 9源代码 ,但是无法充分理解该代码以找到答案。 …但是这些问题针对的是java.time类所取代的较旧的日期时间