Jawa / Говнокод #28032 Ссылка на оригинал

0

  1. 1
Багор

Анскильные питухи хранят дату рождения в timestamp или в абстрактном формате Date.
Например, если вы родились 20.05.1986, то это 1986.05.20T00:00:00
Угадайте как в приложении отображается дата рождения москвича, когда он находится в Рио-де-Жанейро?

Запостил: 3_dar 3_dar, (Updated )

Комментарии (16) RSS

  • Если дату не пытаться пириводить из одной локали в другую, то вообще похую.

    Но так как это запощено здесь, то я подозреваю, что дату пропускают через какой-то фреймворк, который «делает всё правильно» и «показывает время, которое ожидает увидеть пользователь»
    Ответить
  • Нет ничего плохого в том, чтобы хранить дату в timestamp в UTC. Просто нужно понимать, что и как отображать.

    Дата рождения это вообще особый кейс, потмоу что вы всегда родились в один и тот же день, даже если этот день был другим в Буркина Фасо
    Ответить
    • Ну просто у Jawушка не хватало мозгов, чтобы время хранить и отображать в UTC, а не в текущей локали.
      Ответить
      • Вообще скажу страшное: Дата рождения это не timestamp, потому что там не важно ничего после дня. Не бывает точных минут и секунд рождения.

        Нет ничего страшново втом, что бы хранить ее как год-день-месяц, и потом переводить в нужный формат
        Ответить
        • Именно поэтому я за «PostgreSQL»: специально для таких вещей там есть встроенный тип «Date», в котором хранятся только год, месяц и число.
          Ответить
          • В «MySQL» тоже есть DATE, также есть TIME и даже YEAR. Правда, я плохо представляю, зачем может понадобиться последний.
            Ответить
    • я храню дату в милисекундах от рождества Христова... так надежнее
      Ответить
      • Какой богобоязненный юноша! Пукнул тебе на монитор, в качестве благословления.
        Ответить
      • В каком времени? С учётом замедления скорости вращения Земли или по атомным часам?
        Ответить
  • Кстати, есть люди, у которых дата рождения в unix time будет отрицательным числом. Именно поэтому я против «unix time».
    Ответить
    • > отрицательным числом

      Как что-то плохое... Проблема то не в этом, просто битов мало.
      Ответить
    • BUG10052: ошибка при регистрации в игре некоторых участников

      + if (birth_timestamp < 0)
      + die("Именно поэтому я против «старых пердунов»")

      Fixed
      Ответить

Добавить комментарий

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8