Как понять время? Java Date & Time API

แชร์
ฝัง
  • เผยแพร่เมื่อ 2 ก.พ. 2025

ความคิดเห็น • 37

  • @dmii3iy
    @dmii3iy 8 หลายเดือนก่อน +3

    Спасибо за видео! Для меня про instant время было в новинку, как и про использование duration!

    • @dmdev
      @dmdev  8 หลายเดือนก่อน

      Очень рад, что понравилось!

  • @pos_bbuhha_or_afk4901
    @pos_bbuhha_or_afk4901 8 หลายเดือนก่อน +2

    Очень интересный материал, слышал про проблемы со временем, но пока что в ногу не стрелял, поэтому и не задумывался… Спасибо!

    • @dmdev
      @dmdev  8 หลายเดือนก่อน

      Всегда пожалуйста!

  • @Dmitry_Kuznetsov
    @Dmitry_Kuznetsov 7 หลายเดือนก่อน +1

    Отличное видео. Спасибо, теперь стало намного понятнее.

    • @dmdev
      @dmdev  7 หลายเดือนก่อน

      Очень рад, что смог помочь разобраться!

  • @java_one_love
    @java_one_love 7 หลายเดือนก่อน +1

    Спасибо, очень классный формат✊

    • @dmdev
      @dmdev  7 หลายเดือนก่อน

      Всегда пожалуйста!

  • @Alex888mount
    @Alex888mount หลายเดือนก่อน +1

    спасибо

    • @dmdev
      @dmdev  หลายเดือนก่อน

      Всегда пожалуйста!

  • @Alexandersanikoff
    @Alexandersanikoff 4 หลายเดือนก่อน

    Как правильно работа с time zone, какая должна быть установлена на БД, какая на сервере? Всегда ли нужно отдавать на фронт timezone, как это правильно согласовать что бы с любой точки земли было корректное время. Очень ожидал это услышать в видео)

    • @dmdev
      @dmdev  4 หลายเดือนก่อน

      Видео было об азах работы со временем, которые решают все заданные в этом комментарии вопросы.
      Уже были подобные комментарии. Можно почитать мои ответы там. Например, комментарий "Не раскрыта тема ошибок во время переноса даты с Java в БД и обратно..."

  • @alekseyshibayev5243
    @alekseyshibayev5243 8 หลายเดือนก่อน +2

    Спасибо что разобрал.

    • @dmdev
      @dmdev  8 หลายเดือนก่อน

      Всегда пожалуйста!

  • @LAZIO14
    @LAZIO14 7 หลายเดือนก่อน +1

    Ты ТОП! Спасибо!

    • @dmdev
      @dmdev  7 หลายเดือนก่อน +1

      Всегда пожалуйста!

  • @bO-sb7el
    @bO-sb7el 8 หลายเดือนก่อน +2

    Не раскрыта тема ошибок во время переноса даты с Java в БД и обратно.
    На первой работе очень много багов словил в этом месте логики.
    Очень важно держать в голове какая вообще парадигма принята на проекте и следовать ей.
    Какая временная зона в runtime приложения?
    Какая временная зона в БД?
    Как пользователь передает дату с фронта?
    И т.д.
    Было бы круто если вы на примерах разобрали самые популярные ошибки и способы их избежания.

    • @dmdev
      @dmdev  8 หลายเดือนก่อน

      Основная тема видео - как понять время.
      Здесь не предполагалось раскрытия тем работы с БД или как использовать даты в Rest API и других протоколах.
      Но суть остается той же и никуда не уходит - у тебя есть либо Physical time либо Civil. Чтобы ты ни делал - с базой работаешь или создаешь локальную переменную у себя в методе main

    • @bO-sb7el
      @bO-sb7el 8 หลายเดือนก่อน

      @@dmdev понял, благодарю за ответ
      в моем случае информация с ролика показалась сама собой разумеющаяся, а вот то что ты описал выше с бд и рест это темный лес для новичков

    • @dmdev
      @dmdev  8 หลายเดือนก่อน +2

      ​@@bO-sb7el я имею абсолютно противоположное мнение. Если знаешь и понимаешь азы - то, что я объяснил на видео, то все остальные вопросы разрешаются сами собой.
      Например:
      Q - "Какая временная зона в runtime приложения?"
      A - программиста вообще не должна интересовать она, потому что никто не будет делать в коде LocalDate.now() без передачи тайм зоны. Ибо тайм зона нужна при работе с пользовательскими данными.
      Q - "Какая временная зона в БД?"
      A - СУБД - это обычные приложения, написанные на каком-то языке, просто они работают только с данными. А значит ответ такой же, что и на предыдущий вопрос.
      Q - "Как пользователь передает дату с фронта?"
      A - Если не важна тайм зона, то передается timestamp (physical time). Если важна - передается civil time (обычная строка в ISO формате)

  • @viewer_evgeniy
    @viewer_evgeniy 8 หลายเดือนก่อน +2

    Очень круто. Спасибо! Вопрос - будет ли продолжаться такая практика роликов "средней" длинны, в которых будет разбираться какая-то фитча языка? Очень хотелось бы послушать про стримы и функциональные интерфейсы (хотя бы основные function, supplier, consumer).

    • @dmdev
      @dmdev  8 หลายเดือนก่อน +1

      Посмотрю как заходить будут такие видео. Возможно и будет продолжение.

    • @viewer_evgeniy
      @viewer_evgeniy 8 หลายเดือนก่อน +1

      @@dmdev Очень надеюсь, что будут заходить, т.к зачастую авторы ограничиваются практической частью без погружения, пусть и не слишком глубокого, в тему. Ваше видео в этом отношении качественно выделяется в лучшую сторону.

    • @dmdev
      @dmdev  8 หลายเดือนก่อน

      @@viewer_evgeniy тогда супер! Посмотрим!

  • @vorova
    @vorova 8 หลายเดือนก่อน +1

    Денис, спасибо за материал! Много узнал о java из твоих курсов, даже знаю целые школы, которые строят свое обучение на основе твоих курсов. Посоветуешь что нибудь, если есть желание создавать свои курсы?)

    • @dmdev
      @dmdev  8 หลายเดือนก่อน

      Интересно, это какие школы?)
      Не совсем понял вопроса: что посоветовать?
      PS. Меня Денис зовут :)

    • @vorova
      @vorova 8 หลายเดือนก่อน +1

      @@dmdev да это наши школы, в России)
      наверное связано с качественной подачей инфы)
      А когда я говорил про совет, то наверное я хотел узнать, как ты мотивируешься на такую кропотливую работу?) Что тебя вдохновляет)

    • @dmdev
      @dmdev  7 หลายเดือนก่อน +1

      @@vorova думаю, как и всех людей - когда видишь какое-то развитие и прогресс. Например, ты же мотивируешься от того, что становишься лучше, когда занимаешься спортом - твои результаты растут. Или когда ставишься профессиональнее в программировании и можешь все сложнее и сложнее задачи выполнять. Или когда зарабатываешь все больше и больше денег от своего бизнеса/работы.
      В данном случае не исключение - мне нравится, когда я вижу, как растет мой канал, как развивается dmdev.

    • @vorova
      @vorova 7 หลายเดือนก่อน

      @@dmdev Денис, из твоих видео я много узнал о спринге, мавене, gradle, java core и прочем..
      А так же я понял что важно структурировать информацию и иногда нужно обобщенно посмотреть на то что изучаешь.
      Спасибо тебе, желаю постоянного роста канала и личного развития!)

  • @MrFiacko
    @MrFiacko 8 หลายเดือนก่อน

    Больше всео бесит когда указываешь в пропертях какой-нить TTL, например 7 дней. Ну такой думаешь: возьму Duration, всё красиво: в энвах указываем в iso duration: P7D. А потом по какой-то причине решили сделать ttl в 1 месяц. И приходится или P30D писать (если нам точность не важна +-1 1-2 дня туда-сюда), или переделывать всё на Period. И при этом на тестовом окружении нужно чтобы этот TTL был 15 минут... Просто хочется надеть красный нос и клоунский парик после такого)

  • @MentorOfMentors
    @MentorOfMentors 8 หลายเดือนก่อน +4

    Видимо большой взрыв создал java

    • @dmdev
      @dmdev  8 หลายเดือนก่อน

      И не только Java)

  • @bbrother92
    @bbrother92 8 หลายเดือนก่อน

    Привет

    • @dmdev
      @dmdev  8 หลายเดือนก่อน +1

      Привет

  • @nan1896
    @nan1896 8 หลายเดือนก่อน +1

    27:00
    Это очень много непонимания вызывает. Особенно в случае с Duration:
    Duration.of(1, ChronoUnit.WEEKS);
    Падает exception, хотя казалось бы, хочу получить Duration от енама, для которого этот Duration определен:
    WEEKS("Weeks", Duration.ofSeconds(7 * 86400L));
    А вот это уже сработает:
    Duration.from(ChronoUnit.WEEKS.getDuration());
    Почему вообще в Instant и Duration есть методы работы с ChronoUnit? Ведь Instant и Duration не имеют ничего общего с днями, месяцами, годами и т.д.
    Для меня загадка. Может есть какое-то объяснение, кроме упущения разработчиков?)

    • @AlexSmile-y2x
      @AlexSmile-y2x 8 หลายเดือนก่อน +1

      со временем всегда гемор, в других языках все это еще хуже реализовано)

    • @dmdev
      @dmdev  8 หลายเดือนก่อน +1

      Объяснение было упомянуто в самом начале: время это невероятно сложная тема)
      В любом случае, Java 8 Date Time API - намного лучше того, что было. Даже лучше йода тайм библиотеки, что использовалась до Java 8.