🔍 Ответ на задачу про LocalDate и DateTimeFormatter: Вечная путаница с YYYY и yyyy 😅
Очень часто даже опытные разработчики путают, как правильно форматировать и парсить даты в Java с помощью DateTimeFormatter.
Задача:
Есть дата 2024-01-01. Нужно вывести номер года в формате YYYY-MM-dd. В чём разница между использованием шаблона YYYY-MM-dd и yyyy-MM-dd для форматирования, и какой год они покажут, если дата — это, например, 2022-01-01?
Объяснение:
yyyy — календарный год (Calendar year), т.е. то, что мы обычно считаем годом.
YYYY — год недели (Week-based year) по стандарту ISO-8601:
Первый четверг года определяет первую неделю.
Иногда первые дни января могут относиться к заключительной неделе предыдущего года!
Поэтому:
Вывод:
date.format(fmtYear) даст ожидаемый результат 2022-01-01.
А вот date.format(fmtWeekYear) может дать 2021-01-01, потому что 1 января 2022 года относится к последней неделе 2021 года по ISO-8601!
⚡️ Не перепутайте:
Используйте yyyy, если нужен календарный год!
Используйте YYYY, если нужен "год недели" (например, если работа связана с бизнес-отчётами по неделям).
Понравился разбор? Ставь ❤️, подписывайся и спрашивай про другие подводные камни работы с датами!
#java #localdate #datetimeformatter #yyyy #YYYY #дата #интервью #java_interview_tasks
Очень часто даже опытные разработчики путают, как правильно форматировать и парсить даты в Java с помощью DateTimeFormatter.
Задача:
Есть дата 2024-01-01. Нужно вывести номер года в формате YYYY-MM-dd. В чём разница между использованием шаблона YYYY-MM-dd и yyyy-MM-dd для форматирования, и какой год они покажут, если дата — это, например, 2022-01-01?
Объяснение:
yyyy — календарный год (Calendar year), т.е. то, что мы обычно считаем годом.
YYYY — год недели (Week-based year) по стандарту ISO-8601:
Первый четверг года определяет первую неделю.
Иногда первые дни января могут относиться к заключительной неделе предыдущего года!
Поэтому:
LocalDate date = LocalDate.of(2022, 1, 1);
DateTimeFormatter fmtYear = DateTimeFormatter.ofPattern("yyyy-MM-dd");
DateTimeFormatter fmtWeekYear = DateTimeFormatter.ofPattern("YYYY-MM-dd");
System.out.println(date.format(fmtYear)); // 2022-01-01
System.out.println(date.format(fmtWeekYear)); // 2021-01-01 !!!
Вывод:
date.format(fmtYear) даст ожидаемый результат 2022-01-01.
А вот date.format(fmtWeekYear) может дать 2021-01-01, потому что 1 января 2022 года относится к последней неделе 2021 года по ISO-8601!
⚡️ Не перепутайте:
Используйте yyyy, если нужен календарный год!
Используйте YYYY, если нужен "год недели" (например, если работа связана с бизнес-отчётами по неделям).
Понравился разбор? Ставь ❤️, подписывайся и спрашивай про другие подводные камни работы с датами!
#java #localdate #datetimeformatter #yyyy #YYYY #дата #интервью #java_interview_tasks
3👍16 5❤4🤔1
Forwarded from JavaNews (AlexZTgListener)
Cursor доступен в JetBrains IDE.
Cursor теперь доступен в IDE JetBrains: IntelliJ IDEA, PyCharm, WebStorm и другие теперь подключают его через Agent Client Protocol (ACP). А это значит, что работать с агентом можно прямо в JetBrains-IDE. Cursor ACP дает выбор модели под задачу: OpenAI, Anthropic, Google и модели Cursor. Под каждую модель у Cursor своя агентная обвязка, чтобы держать качество и скорость. Как включить: – установить Cursor ACP из ACP Registry – авторизоваться существующей учеткой Cursor. Плагин является бесплатным для пользователей на платных тарифах Cursor.
Статья: https://habr.com/ru/companies/spring_aio/articles/1006764/
#java
#JetBrains
#CURSOR
#RealJavaNews
Cursor теперь доступен в IDE JetBrains: IntelliJ IDEA, PyCharm, WebStorm и другие теперь подключают его через Agent Client Protocol (ACP). А это значит, что работать с агентом можно прямо в JetBrains-IDE. Cursor ACP дает выбор модели под задачу: OpenAI, Anthropic, Google и модели Cursor. Под каждую модель у Cursor своя агентная обвязка, чтобы держать качество и скорость. Как включить: – установить Cursor ACP из ACP Registry – авторизоваться существующей учеткой Cursor. Плагин является бесплатным для пользователей на платных тарифах Cursor.
Статья: https://habr.com/ru/companies/spring_aio/articles/1006764/
#java
#JetBrains
#CURSOR
#RealJavaNews
Хабр
Cursor теперь доступен в IDE JetBrains
Cursor теперь доступен в IntelliJ IDEA, PyCharm, WebStorm и других IDE JetBrains через протокол Agent Client Protocol (ACP). Разработчики, которые полагаются на IntelliJ IDEA и другие IDE JetBrains за...
👍3❤1
Записи докладов Spring I/O 2026 постепенно появляются на [YouTube](https://youtube.com/playlist?list=PLe6FX2SlkJdQZ3N0SW9Abo4cN7eO5dU-U&si=A4mfuEUr9MZAJtMk) — Spring Boot 4, новые интеграции, модульный дизайн, API и немного AI.
Это заставляет задуматься: как потреблять знания с конференций в 2026 году?
Раньше мы смотрели доклады ради трёх вещей:
1. Вдохновение — почти не изменилось. Чужой практический опыт по-прежнему мотивирует.
2. Расширение кругозора — теряет смысл. AI-ассистенты дают доступ к любым знаниям быстрее и в удобном формате, а поток информации давно превышает возможности восприятия.
3. Накопление знаний для работы — изменилось радикально. Раньше знания хранились в голове (и редко — в заметках с низкой доступностью). Сейчас решения принимаются с помощью AI, а персональные базы знаний стали по-настоящему оперативными.
Новый подход: вместо просмотра видео — взять описание, слайды, транскрипт и попросить AI сделать глубокое саммари с ресерчем. Оценить полезность, трансформировать в нужный формат и загрузить в персональную базу знаний.
Что думаете по этому поводу?
Изменились ли ваши подходы к потреблению информации?
Сохранится ли мотивация у докладчиков при таком подходе?
#java
#RealJavaNews
Это заставляет задуматься: как потреблять знания с конференций в 2026 году?
Раньше мы смотрели доклады ради трёх вещей:
1. Вдохновение — почти не изменилось. Чужой практический опыт по-прежнему мотивирует.
2. Расширение кругозора — теряет смысл. AI-ассистенты дают доступ к любым знаниям быстрее и в удобном формате, а поток информации давно превышает возможности восприятия.
3. Накопление знаний для работы — изменилось радикально. Раньше знания хранились в голове (и редко — в заметках с низкой доступностью). Сейчас решения принимаются с помощью AI, а персональные базы знаний стали по-настоящему оперативными.
Новый подход: вместо просмотра видео — взять описание, слайды, транскрипт и попросить AI сделать глубокое саммари с ресерчем. Оценить полезность, трансформировать в нужный формат и загрузить в персональную базу знаний.
Что думаете по этому поводу?
Изменились ли ваши подходы к потреблению информации?
Сохранится ли мотивация у докладчиков при таком подходе?
#java
#RealJavaNews
❤3