Конвертировать эпоху Unix в Google Таблицах

У меня есть лист с колонкой unix epoch раз (в секундах): 1500598288

Как я могу преобразовать их в обычные даты?

Ответ 1

Самый простой способ, не требующий программирования JS, - это получить формулу, делящуюся на 86400 секунд в день и добавляя к 1 января 1970 года. Например, 21 июля 2017 года:

=1500598288/86400+date(1970,1,1)

Чтобы преобразовать весь столбец чисел, просто используйте ARRAYFORMULA:

=arrayformula(A:A/86400+date(1970,1,1))

Ответ 2

Создайте пользовательскую функцию, используя функцию javascript Date:

Инструменты> Редактор сценариев...>

function FROM_UNIX_EPOCH(epoch_in_secs) {
  return new Date(epoch_in_secs * 1000);  // Convert to milliseconds
}

А затем в новом столбце вы можете сделать =FROM_UNIX_EPOCH(A1)

Ответ 3

Формула, указанная в ответе ttarchala, неверна. Вот более экспансивный ответ.

Я бы порекомендовал не заменять данные в секундах со столбца времени эпохи. Это может понадобиться для сортировки и т.д. Кроме того, будет сложно применить формулу ко всей колонке. Вместо этого сначала вставьте новый столбец рядом с ним.

Щелкните в новой ячейке, расположенной рядом с верхней ячейкой эпохи. Предполагая, что самая верхняя ячейка эпохи - A1, введите эту формулу в поле формулы для новой ячейки.

=A1/8640000+date(1970,1,1)

Время даты должно отображаться в вашей новой ячейке. По умолчанию будет отображаться только дата, а не время. Чтобы показать это время, вам нужно изменить формат ячейки. Выбрав новую ячейку даты, щелкните раскрывающееся меню формата 123 и выберите нужный формат ячейки.

Чтобы применить эту формулу ко всем ячейкам в столбце, щелкните маленький черный квадрат (дескриптор) в правом нижнем углу ячейки даты и времени и перетащите его в нижнюю часть столбца. После того, как вы отпустите перетаскивание, столбцы должны быть заполнены преобразованием времени даты для соседней ячейки данных эпохи. Вы можете увидеть индекс ячейки данных эпохи, измененный в формуле, когда вы выбираете каждую ячейку отдельно.