Unixtime конвертер и справочник
Что такое Unix время или Unix эпоха (Unix epoch или Unix time или POSIX time или Unix timestamp)?
UNIX-время или POSIX-время (англ. Unix time) - способ кодирования времени, принятый в UNIX и других POSIX-совместимых
операционных системах.
Моментом начала отсчёта считается полночь (по UTC) с 31 декабря 1969 года на 1 января 1970, время с этого момента
называют "эрой UNIX" (англ. Unix Epoch).
Время UNIX согласуется с UTC, в частности, при объявлении високосных секунд UTC соответствующие номера секунд
повторяются.
Способ хранения времени в виде количества секунд очень удобно использовать при сравнении дат (с точностью до
секунды), а также для хранения дат: при необходимости их можно преобразовать в любой удобочитаемый формат. Дата и
время в этом формате также занимают очень мало места (4 или 8 байтов, в зависимости от размера машинного слова),
поэтому его разумно использовать для хранения больших объёмов дат. Недостатки в производительности могут проявиться
при очень частом обращении к элементам даты, вроде номера месяца и т. п. Но в большинстве случаев эффективнее
хранить время в виде одной величины, а не набора полей.
Обычная дата(Human readable time) | Секунды |
---|---|
1 минута | 60 |
1 час | 3600 |
1 день | 86400 |
1 неделя | 604800 |
1 месяц (30.44 дней) | 2629743 |
1 год (365.24 дней) | 31556926 |
Конвертивание эпохи Unix в человекопонятную дату (human readable date)
Конвертивание человекопонятную дату (human readable date, GMT) в Unix
Форматированная дата в фомате RFC 2822 в Timestamp
Unix дата начала и конца года, месяца или дня
Перевод секунд в дни, часы и минуты
Как получить Unix время в...
Perl | time |
PHP | time() |
Ruby | Time.now (или Time.new ). Чтобы вывести: Time.now.to_i |
Python | import time сначала, потом time.time() |
Java | long epoch = System.currentTimeMillis()/1000; |
Microsoft .NET C# | epoch = (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000; |
VBScript/ASP | DateDiff("s", "01/01/1970 00:00:00", Now()) |
Erlang | calendar:datetime_to_gregorian_seconds( calendar:now_to_universal_time(now())) -
719528*24*3600. |
MySQL | SELECT unix_timestamp(now()) |
PostgreSQL | SELECT extract(epoch FROM now()); |
SQL Server | SELECT DATEDIFF(s, '1970-01-01 00:00:00', GETUTCDATE()) |
JavaScript | Math.round(new Date().getTime() / 1000.0) getTime() возвращает время в миллисекундах. |
Unix/Linux | date +%s |
Другие OS | Командная строка: perl -e "print time" (Если Perl установлен на вашей системе) |
Конвертирование даты в Unix время в...
PHP | mktime(часы, минуты, секунды, месяц, день, год) |
Ruby | Time.local(год, месяц, день, часы, минуты, секунды, usec ) (или Time.gm для GMT/UTC вывода). Чтобы вывести добавьте .to_i |
Python | import time сначала, потом int(time.mktime( time.strptime('2000-01-01 12:34:00',
'%Y-%m-%d %H:%M:%S'))) |
Java | long epoch = new java.text.SimpleDateFormat ("dd/MM/yyyy HH:mm:ss").parse("01/01/1970
01:00:00"); |
VBScript/ASP | DateDiff("s", "01/01/1970 00:00:00", поле даты) |
MySQL | SELECT unix_timestamp(время) Формат времени: YYYY-MM-DD HH:MM:SS или YYMMDD или YYYYMMDD |
PostgreSQL | SELECT extract(epoch FROM date('2000-01-01 12:34')); С timestamp: SELECT
EXTRACT(EPOCH FROM TIMESTAMP WITH TIME ZONE '2001-02-16 20:38:40-08'); C интервалом: SELECT
EXTRACT(EPOCH FROM INTERVAL '5 days 3 hours'); |
SQL Server | SELECT DATEDIFF(s, '1970-01-01 00:00:00', поле с датой) |
Unix/Linux | date +%s -d"Jan 1, 1980 00:00:01" |
Конвертирование Unix времеми в понятную дату(human readable date)...
PHP | date(Формат, unix время); |
Ruby | Time.at(unix время) |
Python | import time сначала, потом time.strftime("%a, %d %b %Y %H:%M:%S +0000",
time.localtime(unix время)) Замените time.localtime на time.gmtime для GMT даты. |
Java | String date = new java.text.SimpleDateFormat( "dd/MM/yyyy HH:mm:ss").format(new java.util.Date (unix
время*1000)); |
VBScript/ASP | DateAdd("s", unix время, "01/01/1970 00:00:00") |
PostgreSQL | SELECT TIMESTAMP WITH TIME ZONE 'epoch' + unix время * INTERVAL '1 second'; |
MySQL | from_unixtime(unix время, не обязательно, выходной формат) Стандартный формат
выхода YYY-MM-DD HH:MM:SS |
SQL Server | DATEADD(s, unix время, '1970-01-01 00:00:00') |
Microsoft Excel | =(A1 / 86400) + 25569 Результат будет в GMT зоне времени. Для других временных зон: =((A1 +/-
разница аремени для зоны) / 86400) + 25569. |
Linux | date -d @1190000000 |
Другие OS | Командная строка: perl -e "print scalar(localtime(unix время))" (Если установлен Perl)
Замените 'localtime' на 'gmtime' для GMT/UTC зоны времени. |