С новым (айтишным) «годом» Вас, други

    Как то прошло незамеченным, что несколько часов назад началась новая "эра", как минимум на наших железках всех мастей.


    Я не перепил, если что...
    PoC (несколько часов назад):


    $ date +%s
    1499999999
    $ date +%s
    1500000000
    $ date +%s
    1500000001

    Маленький юбилей, ибо мы разменяли полтора лярда секунд с начала времен эпох.


    Посему, с Праздником всех! Холодного и вкусного пива! Безбажного кода! Тихо шуршащего железа! И да обойдут вас вируса стороной!


    Следующая новая эпоха (1600000000) состоится через три человеческих года, а именно "Sun Sep 13 12:26:40 GMT 2020".


    Следующая же юбилейная секунда отсчитает только в "Wed May 18 03:33:20 GMT 2033" и разменяет уже два миллиарда.


    Как оно всё сложится...

    Поделиться публикацией
    Похожие публикации
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 24
    • +2
      Оригинально! Поздравляем!
      • +1

        Ну так совпало. Пятница… повод...

      • +1
        Эх, и вот такой вот запоздалый подарок ко дню программиста будет в 2020 году.
        • 0

          Ну так он выпадает на 12-е (из-за високосности), официально то празднуется все равно 13-го числа, нет? Или он в России все-таки плавающий?

          • +1
            256 день же, должен «плавать»
        • 0
          А в каком году случится переполнение переменной?
          • 0
            На разных платформах в разных годах
            • +4

              Уточните тип, пожалуйста...


              0x7fffffff         => Tue Jan 19 03:14:07 GMT 2038
              0xffffffff         => Sun Feb 07 06:28:15 GMT 2106
              0x7fffffffffffffff => Sun Apr 24 15:30:07 GMT 1583316
              ...
              • +1

                Опа! Бага нашлась! Видать софтина которая тут пользовалась где-то чего-то переполняет при расчете (подозреваю что собственно год или количество julian days)…
                Т.к. год много больше должен быть в случае __int64:


                1970 + 0x7fffffffffffffff / int(365.25 * 24*60*60) == 1583316
                292271025015 != 1583316
                • НЛО прилетело и опубликовало эту надпись здесь
                  • +1
                    Что ж так, пессимистично?..
                  • 0
                    У Вас небольшая ошибка. Вы взяли основание из Юлианского календаря. В григорианском другое правило для определения высокосного года — год является високосным в двух случаях: либо он кратен 4, но при этом не кратен 100, либо кратен 400 (2100, 2200, 2300 — не высокосные). Правильное основание будет 365,2425.
                    • 0

                      я стесняюсь спросить — вы число Пи до которого знака пишете?
                      А по теме, кто его знает как високосные года через столько лярдов лет считать начнут...

                      • –1
                        Зависит от чисел с которыми приходится работать. Когда диаметр круга больше 10 метров, то эти 15 милиметров могут потом дорого стоить. У вас же погрешность в 0.0075, даже в бухгалтерских програмах обычно считают точнее.
                        Если по теме, то с учетом того что теперь 1 день разницы набегает за 10 000 лет, то максимум введут что каждый 10 000 год — невысокосный. Но скорее всего просто календарь потеряет свой смысл из-за своей привязки только к одной планете в одной звездной системе.
                        • 0

                          Вы правда считаете что для пруфа 290 лярдов != 1.5 мильена важно что там в каком-то шестом порядке стоит?
                          Ну-ну...

                          • +1
                            Нет, я вообще не об этом. Там и так понятно, что какой-то баг.
                            Я только обратил ваше внимание на небольшую ошибку в формуле. Что-то Вы слишком болезненно ее восприняли.
                • +1
                  19 января 2038 года в 03:14:08 по UTC
                  • 0
                    Вот когда будет повод. Особенно, когда все глюки удастся исправить.
                • –1
                  что это за эры и эпохи? Не могу въехать.
                • 0

                  Хороший повод бутылочку чего-то ни было.

                  • 0

                    Сначала пишем, а потом уже можно "бутылочку чего-то ни было", а то сплошной Т9 получается :)

                  • 0
                    В некоторых проектах, где я работал, использовалась регулярка для проверки на unixtime следующего вида:
                    1\d[9]


                    Есть подозрение, что в 2033, нас ожидают сюрпризы.
                    • +1
                      Следующая новая эпоха (1600000000) состоится через три человеческих года, а именно «Sun Sep 13 12:26:40 GMT 2020»

                      Кажется, я начал понимать, почему новые стандарты C++ выходят раз в три года…

                      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.