Конец года — новые баги с датами

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Наткнулся сегодня (24-12-30) на преинтереснейшую ошибку.

Простенький скрипт ищет файл по дате создания в имени, и вместо вчерашнего дня (24-12-29) почему-то ищет файл за следующий год (25-12-29).

Казалось бы, мистика, всё прекрасно работало с лета, и как на зло сломалось как раз под конец года ... и кто в этом виноват?

Не будем вдаваться в подробности, кто этому виной, а посмотрим на код:

public static void main(String[] args) throws ParseException {
  String YY_pattern = "YY-MM-dd";
  String yy_pattern = "yy-MM-dd";
    
  SimpleDateFormat weekYear = new SimpleDateFormat(YY_pattern);
  SimpleDateFormat year = new SimpleDateFormat(yy_pattern);
  
  Date date = new SimpleDateFormat("yyy-MM-dd HH:mm").parse("2024-12-30 12:00");

  System.out.println("Today    :: " + date);
  System.out.println(YY_pattern + " :: " + weekYear.format(date));
  System.out.println(yy_pattern + " :: " + year.format(date));
}

И на результат его выполнения:

Today    :: Mon Dec 30 12:00:00 EET 2024
YY-MM-dd :: 25-12-30
yy-MM-dd :: 24-12-30

А всё потому что в паттерне даты был ошибочно настроен год текущей недели вместо года текущего дня:

javadoc
javadoc

С первой неделей 2025 года, коллеги!

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
C Новым Годом?
80% Да4
20% Нет1
Проголосовали 5 пользователей. Воздержался 1 пользователь.
Источник: https://habr.com/ru/articles/870994/


Интересные статьи

Интересные статьи

Вы пишете документацию, статьи или другие тексты? Тогда, наверняка, у вас есть проверяющие. Я уверен, что вы нежно и трепетно любите своих проверяющих. Вы, скорее всего, с нетерпением ждёте, когда они...
В этой подборке представлены самые интересные уязвимости за октябрь 2023 года.Подведем вместе итоги второго месяца осени, поехали!
Как ускорить 1С БИТРИКС и снизить кол-во запросов к БД используя ядро D7.Пример выборки элементов IBlock с пользовательскими свойствами в один запрос.
Много всякого сыпется в мой ящик, в том числе и от Битрикса (справедливости ради стоит отметить, что я когда-то регистрировался на их сайте). Но вот мне надоели эти письма и я решил отписатьс...
В интернет-магазинах, в том числе сделанных на готовых решениях 1C-Битрикс, часто неправильно реализован функционал быстрого заказа «Купить в 1 клик».