до первого января 1970 года мир не существовал
Не говорите автору про timestamp.
до первого января 1970 года мир не существовал
в миллисекундах не учитывался, все верно
time.localtime(-19999999999))
time.struct_time(tm_year=1336, tm_mon=3, tm_mday=23, tm_hour=14, tm_min=28, tm_sec=45, tm_wday=4, tm_yday=83, tm_isdst=0)
Ой что это? Это 1336 год он был? До 1970 года. Что ж такое как жеж так. Как жеж так что ж такое.
Тогда как ты объяснишь это?
*картинка сверху*
"Программисты в 2038-ом году когда int переполнится и превратится в –2147483648"
Ты хотел сказать, программисты через 290 миллиардов лет. Потому что с переходом на 64-битный формат срок передвигается примерно на столько.
Кто будет в лонгинте год хранить???
Все, кто следуют спецификации POSIX. Например. И там не год хранится, а unixtime - т.е. секунды с начала эпохи.
Это где таймстампы - инт?
блин в разных языках и компиляторах он разным может быть
Integer 4 bytes (using 32-bit compiler) -2147483648 to +2147483647
Integer 8 bytes (using 64-bit compiler) -9223372036854775808 to +9223372036854775807
Я как-то integer считаю 4-байтным. 8 байт это long, 2 - short.
Ну так и сиди на 32битной системе всю жизнь
Ну, это как где. В C и C++ гарантируется размер только unsigned char, а всё остальное как компилятор решит. Вполне встречаются модели, где sizeof(short) == sizeof(int) == sizeof(long) == 4. Так что, если размер важен, лучше типы из stdint.h тянуть.
как знать, эксель и аналоги, судя по всему, были сотворены 1 января 1900 года
всегда воевали же
Не, он был в минусе, просто взяли нулевой точкой не рождение еврейского мальчика, а чисто рождение юрикса.
всего один бит и вот у тебя уже есть возможность задать 292275241 год до Р.Х. (Пермский период, что забавно)
Максимальная дата, которая представляется с помощью "unix timestamp" - 19 января 2038 г. Ещё на нашем веку посмотрим на "программистов, знающих про timestamp". Статья в википедии уже есть - https://en.wikipedia.org/wiki/Year_2038_problem
И чо делать?
добавить ко всем датам в бд таймдельту лет на 5 и уволиться через 4
Увеличить вместимость поля в байтах с 4 до 8. Доживет до 292277026596 года
Квантовые программисты в 292277026596 году: "Блядь, у них уже тогда память терабайтами исчислялась, зачем отводить под время всего 8 сука байт!"
Проблема в том, что Великие Программисты Древности мудро завязали на тип timestamp несколько других абсолютно не относящихся к нему типов, например в файловой системе, и любое его изменение приведёт к каскаду ошибок в самых неожиданных местах.
В общем, "не переключайте канал, оставайтесь с нами"! :)
(Одно счастье -- в 2038 году я, если останусь живой, буду давно на пенсии и разве что лекции студентам читать буду :) )
В общем, "не переключайте канал, оставайтесь с нами"! :)
(Одно счастье -- в 2038 году я, если останусь живой, буду давно на пенсии и разве что лекции студентам читать буду :) )
Отправлять Сузуху в прошлое, чтобы исправляла проблему 2038
Переходить на int64 для таймштампов
Собственно, уже
Срочно переходить на формат даты с 4мя цифрами в годе. Тогда проблемой будут заниматься следующие поколения.
Ничего. Не слушать тех кто умеет в только в википедию. Для примера:
time.localtime(199999999999))
time.struct_time(tm_year=8307, tm_mon=10, tm_mday=1, tm_hour=22, tm_min=33, tm_sec=19, tm_wday=1, tm_yday=274, tm_isdst=1)
Просто для примера. Девяток можно и добавить.
Проблема в том, что в многих языках, библиотеках и существующем софте твоя хуебратия с девятками превратится в 284020828. А это было в 79-м году.
А можно список хуеты, где таймстампы в интах?
Да почти все легаси, которое во многих сферах живет и процветает. Дохуища старого сетевого оборудования, всяческая эмбеддед-хуита и фс. Йобнуть может где угодно, даже там, где вообще не ожидаешь.
Оно ж магическим образом само не пофиксится. Про многие вещи все уже к хуям забыли, как оно работает - поддерживают в рабочем в состоянии, и живут по правилу "работает - не трожь". Особенно это больших банков касается.
Оно ж магическим образом само не пофиксится. Про многие вещи все уже к хуям забыли, как оно работает - поддерживают в рабочем в состоянии, и живут по правилу "работает - не трожь". Особенно это больших банков касается.
Уже ничего, переменную заменили на 64-битную
Просто увеличат размер...
Ну, многое от точности зависит. Чем больше хранить чисел в дробной части секунд - тем ближе конец 64-битного даты-времени, очевидно.
А с ним в все тоже не так уж просто. Там уже даже на 128bit ные компы, а 256bit ные нужны будут. В прочем не серьезная проблема для 9999 года
Это не программисты, а директора их фирм
Тогда уж директора магазинов. Но программисты и сисадмины тоже немало профита получили. Потому что хер ты замену старому оборудованию выбъешь, все на рухляди работало. И когдаты начальник, и твой компьютерщик приходит и говорит про нее, и что надо обновляться, а ты нихрена не понимаешь, но слышал даже из телевизора, что все превратится в тыкву, деньги нехотя, но все-таки даешь.
Ты говоришь о "проблеме 2000", я говорю о "проблеме 2038"...или ты думаешь, там тоже придется железо менять?
Да, часть дикого легаси без апдэйтов придётся менять или жоско перепрошивать.
Та херня, думаю уже лет за 100-200 'до' в новых ОСях эту опцию добавят и к 9999 все успеют обновиться на ОСь хотя бы 100 летней давности
Да скорее случится какая-то дичь и время исчисление сменится.
Да скорее случится какая-то дичь и времяисчисление закончится.
Проблему 2038 года решить хоть успеем?
Хорошо бы это была единственная проблема
Неа, ебанёт знатно всякие банкоматы-электро-теплоснабжение, автоматику билетов... Куча багов будет
На часах будет опять 1970.
ТЫ РАБОТАЕШЬ В ПОЛУПУСТОМ НИИ В СТАРОМ СОВЕТСКОМ ЗДАНИИ
@
ИЗ ШЕСТИ ЭТАЖЕЙ ЗАСЕЛЕНЫ ТОЛЬКО ДВА
@
И ТО 3,5 СТАРИКА КОТОРЫЕ КУДА-ТО ИСЧЕЗАЮТ УЖЕ В 15
@
ТЫ НАОБОРОТ ЛЮБИШЬ ЗАСИЖИВАТЬСЯ ДОПОЗДНА
@
КАК-ТО РАЗ ЗАШЕЛ В КОНЕЦ КОРИДОРА У СЕБЯ НА ЭТАЖЕ
@
ИЗ ШЕСТИ ЭТАЖЕЙ ЗАСЕЛЕНЫ ТОЛЬКО ДВА
@
И ТО 3,5 СТАРИКА КОТОРЫЕ КУДА-ТО ИСЧЕЗАЮТ УЖЕ В 15
@
ТЫ НАОБОРОТ ЛЮБИШЬ ЗАСИЖИВАТЬСЯ ДОПОЗДНА
@
КАК-ТО РАЗ ЗАШЕЛ В КОНЕЦ КОРИДОРА У СЕБЯ НА ЭТАЖЕ
А ТАМ ЛИКВИДАТОРЫ В НАРДЫ ИГРАЮТ
САДИСЬ, ГОВОРЯТ, НА СТУЛ, С НАМИ ПОИГРАЙ
@
САДИШЬСЯ НА СТУЛ
@
А СТУЛ ТЕБЕ КАК РАЗ
@
САДИШЬСЯ НА СТУЛ
@
А СТУЛ ТЕБЕ КАК РАЗ
ОТЛИЧНО ПОИГРАЛИ В НАРДЫ
@
ПОТОМ ПОПИЛИ АРОМАТНЫЙ ЧАЙ С ПОИСТИНЕ ВКУСНЫМ ВАРЕНЬЕМ
@
РАССТАЛИСЬ ДРУЗЬЯМИ
@
ПОТОМ ПОПИЛИ АРОМАТНЫЙ ЧАЙ С ПОИСТИНЕ ВКУСНЫМ ВАРЕНЬЕМ
@
РАССТАЛИСЬ ДРУЗЬЯМИ
@
А ТАМ КРЫЛО В 3 РАЗА БОЛЬШЕ ВСЕЙ ТЕРРИТОРИИ НИИ
@
ВСЁ ЗАВАЛЕНО СТАРЫМИ РАДИОДЕТАЛЯМИ КРУГОМ СТОЯТ ДРЕВНИЕ ТЕРМИНАЛЫ
@
НЕКОТОРЫЕ ТЕРМИНАЛЫ ЕЩЁ ФУНКЦИОНИРУЮТ
А ТАМ КРЫЛО В 3 РАЗА БОЛЬШЕ ВСЕЙ ТЕРРИТОРИИ НИИ
@
ВСЁ ЗАВАЛЕНО СТАРЫМИ РАДИОДЕТАЛЯМИ КРУГОМ СТОЯТ ДРЕВНИЕ ТЕРМИНАЛЫ
@
НЕКОТОРЫЕ ТЕРМИНАЛЫ ЕЩЁ ФУНКЦИОНИРУЮТ
@
НА ОДНОМ ИЗ ТЕРМИНАЛОВ ПОБЛЕСКИВАЕТ СТРАННАЯ КАРТИНА.
@
ПРИЩУРИВШИСЬ, НА ПОМУТНЕВШЕМ ЭКРАНЕ ТЫ РАЗЛИЧАЕШЬ ЧЕТЫРЕ УГЛОВАТЫЕ БУКВЫ.
@
СЛЕВА ОТ ТЕРМИНАЛА ВЫГРАВИРОВАНА ТАБЛИЧКА: "ИНТЕРАКТИВНОЕ ПОСОБИЕ ПО ЗАЧИСТКЕ ЭТАЖЕЙ ОТ ПОРОЖДЕНИЙ САМОСБОРА"
НА ОДНОМ ИЗ ТЕРМИНАЛОВ ПОБЛЕСКИВАЕТ СТРАННАЯ КАРТИНА.
@
ПРИЩУРИВШИСЬ, НА ПОМУТНЕВШЕМ ЭКРАНЕ ТЫ РАЗЛИЧАЕШЬ ЧЕТЫРЕ УГЛОВАТЫЕ БУКВЫ.
@
СЛЕВА ОТ ТЕРМИНАЛА ВЫГРАВИРОВАНА ТАБЛИЧКА: "ИНТЕРАКТИВНОЕ ПОСОБИЕ ПО ЗАЧИСТКЕ ЭТАЖЕЙ ОТ ПОРОЖДЕНИЙ САМОСБОРА"
НИИ крипипасты это не самосбор, хватит мешать всë в одну кучу
Мы живем в матрице, после 2038 года будет вайп, и начнём снова с 1970
Главное, чтобы не вайп неграми.
Знаю я ваш "вайп"
А потом внезапно окажется что управляющие терминалы межгалактической метро работают на софте написанной на GOBOL-е под Windows 3000
Инопланетяне: с чьего там рождества у вас 9999 лет?
Христос Прокрастинатор - 5 лет не хотел заступать в обязанности
Он так-то до 30 лет хуи пинал.
не регистрировали в ЗАГС
А что если отсчет с 0 года начался именно потому, что не смогли после 9999 года настроить дату?
А все следы высокоразвитой цивилизации сгорели в ядерном огне.
Да каждый миллениум одна херня...
И ВСЕ ЭТО РУКАМИ, СВОИМИ, ПОТОМУ ЧТО МИСЬЕ ДЕВОПС НЕ АВТОМАТИЗИРОВАЛ ОБНОВЛЕНИЕ ОС (или мегасуперкомпания не смогла в нормальное обновление и адекватно оно ставится только руками). КОМПЬЮТЕРОВ ТО СЕКСИЛЛИОНННН!!
Своими - потому что у мисье девопса лапки.
Фам Нювен несколько лет провел, обучаясь программировать и исследовать. Программирование восходило к началу времен. Как та навозная куча за замком отца. Когда ее промыло ручьем на десять метров в глубь, обнаружились искореженные корпуса машин – летающих машин, как говорили крестьяне, еще от тех великих дней колонизации Канберры. Но та навозная куча была чистой и свежей по сравнению с тем, что лежало в локальной сети «Репризы». Были программы, написанные пять тысяч лет назад, когда человечество еще не покинуло Землю. И самое чудесное (самое ужасное, как говорила Сура) было то, что, в отличие от бесполезных обломков прошлого Канберры, эти программы все еще работали! И через миллион миллионов запутанных нитей наследования многие из старейших программ все еще выполнялись во внутренностях системы Кенг Хо. Например, методы слежения за временем у торговцев. Поправки вносились неимоверно сложно – но на самом дне лежала крошечная программа, которая гоняла счетчик. Секунду за секундой отсчитывала система Кенг Хо с того момента, как нога человек ступила на Луну Старой Земли. Но если приглядеться еще пристальнее… начальный момент был миллионов на сотню секунд позже; момент «ноль» одной из первых компьютерных операционных систем Человечества.
Вернор Виндж, "Глубина в небе "
Вернор Виндж, "Глубина в небе "
Чтобы написать коммент, необходимо залогиниться
Отличный комментарий!