Що таке unix-який час і в чому проблема 2038 року, кат, кликни або помри

Максимально зрозумілий гід від Дениса Пешехонова.

Роз'яснення для неайтішніков

Комп'ютерів потрібна абсолютна час, яке не залежить від часових поясів і способу запису, тому колись вирішили висловлювати його ось як: будь-який момент часу це таке число, скільки секунд пройшло з моменту [четвер, 01.01.1970 0:00:00 GMT + 0] і до нього. Якщо момент був раніше цієї дати, то число негативне.







Важливо розуміти, що UNIX-час однакове в один і той же момент для всіх людей на планеті. І для всіх комп'ютерів на планеті, що ще важливіше.

3 роки проходить ще сто мільйонів секунд, і другий старший розряд збільшується на одиницю. А рівно два мільярди буде аж в 2033 році, в середу 18-го травня в 6:33:20 по Москві.







Але є ще дещо цікаве. Існує так звана «Проблема 2038-го року».

Справа в тому, що в багатьох комп'ютерах і інших електронних пристроях, якщо говорити грубо, цілі числа не можуть бути більше, ніж 2 147 483 647 (або 2 ^ 31-1) через деякі технічні особливості.

Що таке unix-який час і в чому проблема 2038 року, кат, кликни або помри

Що ж буде далі?

Що робити?

Як користувач ви можете зробити тільки одне: не сидіти на старій техніці і не використовувати старі пристрої і програми. А якщо ви кодер, то самі знаєте: ніяких int32 на таймстамп, хлопці. Тільки long, Number, int64 або що там у вашому улюбленому мовою.