У меня проблемы с методом org.apache.poi.xssf.eventusermodel.XSSFSheetXMLHandler.SheetContentsHandler.cell(String var1, String var2, XSSFComment var3)
относительно атрибута var2. Я использую Spring-Batch, с помощью которого я анализирую файл .xlsx
с некоторыми датами в нем. В файле .xlsx
даты даны в формате DD/MM/YYYY
, однако, как только я достигну метода, указанного выше, атрибут var2 будет читать MM/DD/YY
.
Я не понимаю, как вызывается этот метод, поэтому я не знаю, как указать формат даты, чтобы сохранить полное значение года YYYY
вместо значения короткого формата YY
.
Это вызывает у меня проблемы в других местах, так как 2039 год и выше преобразуются в 39 и выше, которые позже интерпретируются как 1939 и выше.
Спасибо за любую помощь в этом вопросе.
Я полагаю, что следующая проблема связана с проблемой 2038 года здесь . Поскольку текущее определение даты опирается на двоичное число секунд с 1 января 1970 года, указанное в 32 битах, максимальное значение соответствует дате 19 января 2038 года. Поэтому я предполагаю, что последующие методы (org.joda.time.format) .DateTimeFormatter.parseDateTime (String var1)) ожидает только годы до 2038 года, если ему даны только две цифры (YY), хотя существует атрибут iDefaultYear, значение которого равно 2000. Я надеюсь, что, указав ему полный год, он будет работать так, как ожидается.
ожидается: 01/01/2039 -> 01/01/2039 -> 01/01/2039
актуально: 01/01/2039 -> 01/01/39 -> 01/01/1939