Как конвертировать Unix Timestamp в удобочитаемое человеком?

15

Как видно из заголовка, у меня есть Unix Timestamp на листе, и мне нужно преобразовать их в обычные удобочитаемые даты. Пока что я вычеркнул, поиски в Google нашли несколько предложений, но ни одно из них не сработало для меня вообще. У кого-нибудь есть формула, которая работает для их преобразования?

JVC
источник

Ответы:

23

Я предпочитаю более прозрачную формулу с меньшим количеством магических чисел. Это позволяет легче увидеть, что происходит, а также исключает вероятность появления ошибки (например, текущий топ-ответ на этот вопрос, который отключен на 1 день):

=A1/60/60/24 + DATE(1970,1,1)

И если вы хотите перевести его из UTC в метку времени, которая смещена на некоторое количество часов, например, UTC-8:

=A1/60/60/24 + DATE(1970,1,1) - 8/24
Дэйв Л.
источник
Очень хорошо, я думаю, что это на самом деле лучший ответ, поэтому я собираюсь, кроме этого ... Спасибо!
JVC
Да, это не работает для меня, это выводит какую-то странную дату. Есть идеи почему?
JayPex
@JayPex Не знаю, но, может быть, если бы вы дали более подробную информацию. Одна вещь, чтобы проверить, будет формат для этой ячейки.
Дейв Л.
8

Google Sheets измеряет дату и время в днях, с отметкой 0, равной 1899-12-30 0:00:00. Это происходит до 1970 года, отметка времени Unix на данный момент (при условии времени по Гринвичу) является отрицательной, а именно -2209161600. Итак, формула

=(A1 + 2209161600)/86400

преобразует метку времени Unix в ячейке A1 в дату-время (отформатируйте ячейку с формулой как таковой).

Ограничения:

  • Високосные секунды игнорируются
  • Формула для GMT, а время в Google Sheets указано в местном часовом поясе. Чтобы изменить формулу для своего часового пояса, посетите веб- сайт https://www.epochconverter.com/ и получите временную метку для 1899-12-30 0:00:00 по местному времени.

источник
Как отмечает mbican, эта формула отключена на 1 день. xkcd.com/386
Дейв Л.
Ответ сейчас исправлен.
Дейв Л.
3

Результат был на один день впереди меня, поэтому я изменил его на =to_date((A1+2209161600)/86400)

mbican
источник
1

В Google Sheets

A1 -> ячейка с отметкой времени * nix

Формула даты =(((A1/60)/60)/24)+DATE(1970;1;1)

biojazzard
источник
-2

Если вы хотите, чтобы самый простой способ конвертировать метки времени в человекочитаемые даты, попробуйте этот инструмент конвертер меток времени

Рахул Кумар Сингх
источник
Обратите внимание, что вопрос был о Google Sheets
Кос,