Конвертер эпохи и временных отметок

Преобразуйте временную отметку в формат даты или получите временную отметку указанной даты.

Отметка времени Unix epoch
Дата и время

Дата и время

Языки программирования для получения значения отметки времени:

Math.round(new Date() / 1000)
Документ
import time;
time.time()
Документ
(int) (System.currentTimeMillis() / 1000)
Документ
import ( "time" )
int32(time.Now().Unix())
Документ
double now_time = std::chrono::duration_cast(std::chrono::system_clock::now().time_since_epoch()).count();
Документ
NSDate().timeIntervalSince1970
Документ
SELECT UNIX_TIMESTAMP(); #1567758868
SELECT FROM_UNIXTIME(1567758868); #2019-9-6 16:34:28
DateTimeOffset.Now.ToUnixTimeSeconds()
Документ
Time.now.to_i
Документ

Стандартные определения спецификаций даты и времени

RFC 822 | RFC 1036 | RFC 1123 | RFC 2822 | RFC 3339 | RFC 5322 | ISO 8601

Что такое временная отметка эпохи?

Время UNIX или время POSIX - это представление времени, используемое системами UNIX или UNIX-подобными: общее количество секунд от 0:0:0:0 1 января 1970 года UTC до настоящего времени, независимо от високосных секунд.

Проблема 2038 года

Первоначальные версии времени Unix были 32-битными целыми числами, увеличивающимися на 60 Гц. Первое издание Руководства программиста Unix, выпущенное 3 ноября 1971 года, определяло время Unix как "время с 00:00:00, 1 января 1971 года, измеряемое в шестидесятых долях секунды", то есть начиная с 00:00:00, 1 января 1971 года, и увеличивающимся на 60 Гц. Это означает, что хранение времени Unix в виде 32-битного беззнакового целого числа исчерпается через 829 дней (около 2,5 лет). Из-за этого ограничения началось несколько переопределений источника времени Unix, пока он не начал использовать источник времени 1 января 1970 года в 00:00:00 UTC, синхронизированный на 1 Гц. Таким образом, Unix и C используют 32-битные знаковые целые числа для представления времени, что обеспечивает промежуток времени примерно в 136 лет, разделенный пополам до и после 1970 года. То есть до 19 января 2038 года, когда исчерпается сброс.

Большинство современных систем, использующих UNIX, являются 32-битными, то есть они представляют тип времени time_t в виде 32-битного знакового целого числа. Таким образом, можно представлять секунды в течение 136 лет. Представляет собой пятницу 13 декабря 1901 года 20:45:52 UTC до 19 января 2038 года 3:14:07 UTC (двоичный формат: 01111111 11111111 11111111 11111111, 0x7FFF: FFFF), на следующую секунду двоичный номер будет 10000000 00000000 00000000 00000000 (0x8000: 0000), это отрицательное число, поэтому системы будут неправильно интерпретировать время как 13 декабря 1901 года, 20:45:52 (и возможно вернуться в 1970 год). В этот момент могут возникнуть проблемы с программным обеспечением, приводящие к параличу системы.

Текущее решение - это преобразование системы из 32-битной в 64-битную систему. При 64-битной системе это время может быть представлено до 292,2777702659 триллионов 15:30:08 4 декабря.

Размер файла превышает лимит.

Вы не можете загружать больше файлов.

Обновите свою учетную запись, чтобы разблокировать больше возможностей

Ежемесячная оплата
Ежегодная оплата
-40%

Премиум

US$ / Месяц
Единовременный платеж в размере US$36

Неограниченный

US$ / Месяц
Единовременный платеж в размере US$72