我在有关var2属性的方法org.apache.poi.xssf.eventusermodel.XSSFSheetXMLHandler.SheetContentsHandler.cell(String var1, String var2, XSSFComment var3)
上遇到麻烦。我使用的是Spring-Batch,可用来解析其中包含一些日期的.xlsx
文件。在.xlsx
文件中,日期以DD/MM/YYYY
格式给出,但是一旦达到上述给定的方法,var2属性就会读取MM/DD/YY
。
我不知道如何调用此方法,因此我不知道如何指定日期格式以保留全年值YYYY
而不是短格式值YY
。
这在其他地方给我带来麻烦,因为2039年及以后的年份转换为39岁及以上,后来被解释为1939年及以上。
感谢您提供有关此问题的帮助。
我认为随后的问题与2038年的问题here有关。由于当前的日期定义取决于自1970年1月1日以来的二进制秒数(以32位给出),因此最大值对应于2038年1月19日。因此,我认为后续方法(org.joda.time.format .DateTimeFormatter.parseDateTime(String var1))仅给定两位数(YY)时,才期望到2038年,尽管存在一个iDefaultYear属性,其值为2000。我希望通过提供完整的年份,它可以按预期工作。
预期:01/01/2039 -> 01/01/2039 -> 01/01/2039
实际:01/01/2039 -> 01/01/39 -> 01/01/1939
答案 0 :(得分:0)
没关系,我认为问题出在excel如何存储日期。我已经通过将单元格格式化为文本值来解决了我的问题,并且一切正常。所以我想即使我写了长日期格式(YYYY),excel也会存储短日期格式(YY)。因此,当我稍后解析文件时,我读了YY,这会引起我的麻烦。