Как перевести unix время excel

Временная метка Unix также называется временем эпохи или временем POSIX, которое широко используется во многих операционных системах или форматах файлов. В этом руководстве рассказывается о преобразовании между датой и меткой времени Unix в Excel.

Преобразовать дату в метку времени

Преобразование даты и времени в метку времени

Преобразовать метку времени на дату

Дополнительные руководства по преобразованию даты и времени …


стрелка синий правый пузырь Преобразовать дату в метку времени

Чтобы преобразовать дату в метку времени, формула может вычислить это.

Выберите пустую ячейку, предположим, ячейку C2, и введите эту формулу = (C2-ДАТА (1970,1,1)) * 86400 в это и нажмите Enter key, при необходимости вы можете применить диапазон с этой формулой, перетащив маркер автозаполнения. Теперь диапазон ячеек даты преобразован в метки времени Unix.
документ-конвертировать-дата-unix-1


время конвертации документов 1


стрелка синий правый пузырь Преобразование даты и времени в метку времени

Существует формула, которая может помочь вам преобразовать дату и время в метку времени Unix.

1. Во-первых, вам нужно ввести всемирное координированное время в ячейку, 1. Смотрите скриншот:
документ-конвертировать-дата-unix-2

2. Затем введите эту формулу = (A1- $ C $ 1) * 86400 в ячейку, нажмите Enter , а затем при необходимости перетащите дескриптор автозаполнения в диапазон с этой формулой. Смотрите скриншот:
документ-конвертировать-дата-unix-3

Tips: В формуле A1 — это ячейка даты и времени, C1 — введенная вами координата всемирного времени.


стрелка синий правый пузырь Преобразовать метку времени на дату

Если у вас есть список временных меток, необходимых для преобразования на сегодняшний день, вы можете сделать следующие шаги:

1. В пустой ячейке рядом со списком временных меток введите эту формулу. =(((A1/60)/60)/24)+DATE(1970,1,1), нажмите Enter и перетащите маркер автозаполнения в нужный диапазон.
документ-конвертировать-дата-unix-4

2. Затем щелкните правой кнопкой мыши ячейки, в которых используется формула, и выберите Формат ячеек из контекстного меню, затем во всплывающем Формат ячеек диалог под Nвокруг вкладку нажмите Время в Категория список, затем выберите тип даты в правом разделе.
документ-конвертировать-дата-unix-5

3. Нажмите OK, теперь вы можете видеть, что метки времени Unix преобразованы в даты.
документ-конвертировать-дата-unix-6

Ноты:

1. A1 указывает нужную ячейку с отметкой времени.

2. Эту формулу также можно использовать для преобразования ряда временных меток в дату и время, просто отформатируйте результат в формате даты и времени.

3. Приведенная выше формула преобразует 10-значное число в стандартную дату и время. Если вы хотите преобразовать 11-значное число, 13-значное число или 16-значное число в стандартную дату и время в Excel, используйте формулу, как показано ниже:

Преобразование 11-значного числа в дату: =A1/864000+ДАТА(1970,1,1)

Преобразование 13-значного числа в дату: =A1/86400000+ДАТА(1970,1,1)

Преобразование 16-значного числа в дату: =A1/86400000000+ДАТА(1970,1,1)

Для разной длины числа, которое необходимо преобразовать в дату и время, просто измените количество нулей делителя в формуле, чтобы правильно получить результат.


Относительные статьи:

  • Как преобразовать дату и время из одного часового пояса в другой в Excel?
    Эта статья покажет вам, как преобразовать дату и время из одного часового пояса в другой в Excel.

  • Как разделить дату и время из ячейки на две отдельные ячейки в Excel?
    Например, у вас есть список данных, смешанных с датой и временем, и вы хотите разделить каждую из них на две ячейки, одна — это дата, а другая — время, как показано ниже. В этой статье представлены два быстрых метода решения этой проблемы в Excel.

  • Как преобразовать ячейку формата даты / времени в дату только в Excel?
    Если вы хотите преобразовать ячейку формата даты и времени только в значение даты, такое как 2016/4/7 1:01 AM до 2016/4/7, эта статья может вам помочь.

  • Как убрать время с даты в Excel?
    Если есть столбец даты с отметкой времени, например, 2 17:2012, и вы не хотите сохранять отметку времени и хотите удалить время 12:23 из даты и оставить только дату 12. Как можно быстро удалить время из даты в нескольких ячейках Excel?

  • Как объединить дату и время в одну ячейку в Excel?
    На листе есть два столбца, один — это дата, другой — время. Есть ли способ быстро объединить эти два столбца в один и сохранить формат времени? Теперь в этой статье представлены два способа в Excel объединить столбец даты и столбца времени в один и сохранить формат времени.


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Содержание

  • Что такое Unix Time
  • Преобразование времени Excel в время Unix
  • Преобразование времени Unix в время Excel
  • Преобразование времени Excel в время Unix в Google Таблицах

Скачать пример рабочей книги

Загрузите образец книги

В этом руководстве будет показано, как преобразовать время в формате Excel в время Unix в Excel и Google Таблицах.

Что такое Unix Time

Время Unix также известно как время эпохи, время POSIX или временная метка Unix. Это система, которая считает количество секунд, прошедших с эпохи Unix, т. Е. 1 января.ул, 1970. Проще говоря, время Unix — это общее количество секунд между датой и эпохой Unix.

Чтобы рассчитать время Unix, сначала нам нужно найти общее количество дней между временем Excel и временем эпохи. Затем умножьте вычисленные дни на 86 400, потому что в сутках 86 400 секунд (24 часа × 60 минут × 60 секунд = 86 400 секунд).

1 = (B5-ДАТА (1970,1,1)) * 86400

Пошаговое объяснение

Первым шагом в преобразовании времени Excel в время Unix является вычисление числового значения даты эпохи. Это можно сделать с помощью функции ДАТА.

Это дает нам эту ценность:

=25569

Таким же образом вычисленное числовое значение даты эпохи вычитается из числового значения данного времени в Excel.

=(40422-25569)
=(14853)

После этого рассчитанная выше разница умножается на 86400, чтобы получить результирующее значение в секундах.

=(14853)*86400

Это общее количество секунд, которое мы получаем между двумя датами.

=1283299200

Преобразование времени Unix в время Excel

И наоборот, мы можем преобразовать время Unix в время Excel с помощью следующей формулы:

1 = (B3 / 86400) + ДАТА (1970,1,1)

Пошаговое объяснение
Сначала временная метка Unix делится на общее количество секунд в дне, то есть 86400.

=14853

Теперь мы вычисляем числовое значение даты эпохи с помощью функции ДАТА.

=25569

Получив числовое значение даты эпохи, мы добавим эти два значения.

= 14853 + 25569
= 40422

Результирующее значение, которое мы получили после расчета, находится в формате порядкового номера даты. Чтобы просмотреть его в формате даты, просто измените формат ячейки на Дата или требуемый настраиваемый формат из числового формата, открыв его через вкладку «Главная».

или нажав CTRL + 1

После изменения формата числовых значений даты и времени Excel мы получаем следующие дату и время Excel

Преобразование времени Excel в время Unix в Google Таблицах

Формула преобразования времени в Unix-время в Google Таблицах работает точно так же, как и в Excel.

Вы поможете развитию сайта, поделившись страницей с друзьями

 

SladovArina

Пользователь

Сообщений: 3
Регистрация: 17.06.2015

Всем здравствовать!

Ребята, подскажите пожалуйста, как можно в excel перевести порядковый номер даты (такого формата «1498219368») в более осознанный формат «14.07.2017».  

 

Владимир

Пользователь

Сообщений: 8196
Регистрация: 21.12.2012

А почему этот текст — «1498219368» должен стать датой?

«..Сладку ягоду рвали вместе, горьку ягоду я одна.»

 

Сергей

Пользователь

Сообщений: 11251
Регистрация: 01.01.1970

и интересует эт какой год от рождества христова 1498219368

Лень двигатель прогресса, доказано!!!

 

kavaka

Пользователь

Сообщений: 179
Регистрация: 24.03.2017

Выставить формат ячейки на дату?

 

Z

Пользователь

Сообщений: 6111
Регистрация: 21.12.2012

Win 10, MSO 2013 SP1

#5

14.07.2017 12:17:34

Цитата
SladovArina написал: формат «14.07.2017»

В числах это будет, однако 42930,00, а ваши «1498219368» — это из области чегой-то запредельного… ;)
Думаем дольше, вникаем — глубже, объясняем — толково.

«Ctrl+S» — достойное завершение ваших гениальных мыслей!.. ;)

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

Может это какой-нибудь буддийский календарь? )

 

Alemox

Пользователь

Сообщений: 2183
Регистрация: 25.02.2013

Всё просто:
1498219368
Смотрим
1+4+9=14
8+2+1+9=20
3+6+8=17
Итого получаем
14.2017
Только где тут июль я не знаю, возможно он тут:
1498219368/24=62425807 << вот он
6+2+4+2+5+8+0+7=34
3+4=7 << или вот он
Итого: 14.07.2017

Есть ещё даты такие чтоб проверить теорию?

Изменено: Alemox14.07.2017 14:38:04

Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.

 

Bema

Пользователь

Сообщений: 6761
Регистрация: 15.02.2016

Alemox,  браво :D . Действительно все просто оказалось.

Изменено: Bema14.07.2017 14:41:28

Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл

 

AAF

Пользователь

Сообщений: 1000
Регистрация: 18.12.2016

#9

14.07.2017 14:48:20

Unix время

Код
tmUnx = 1498219368  ' 23.06.2017  12:02:48
tm = CDate(tmUnx/ 86400 + 25569)

и, возможно GMT прибавить придется… ;)

Изменено: AAF14.07.2017 15:17:58

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

#10

14.07.2017 15:21:08

Цитата
Alemox написал: Всё просто…

Вывих мозга :)
И где это такие «даты» создают и применяют?

 

Alemox

Пользователь

Сообщений: 2183
Регистрация: 25.02.2013

#11

14.07.2017 15:22:09

Стало интересно всё таки. Пошарился и отрыл следующую информацию

Код
Unix date format consists of the number of seconds that have passed since 1-Jan-1970.
Knowing that, it is just a matter of calculating how many days have passed, and then adding those days to 1-Jan-1970.
Here is the formula I used to convert those seconds into proper Dates:

Формула для преобразования:
=ОКРВНИЗ(A1/60/60/24;1) + ДАТА(1970;1;1)
А1-ячейка с числом.
Жаль что первоначальный вариант мой не сработал  :D

Насчёт функции ОКРВНИЗ, никогда не использовал, но кому интересно

почитайте

.
Интересно почему в офисе она со знаком восклицания отображается?

Изменено: Alemox14.07.2017 15:26:46

Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.

 

АlехМ

Пользователь

Сообщений: 1100
Регистрация: 02.05.2017

Alemox, тогда можно так
=ОТБР(A1/60/60/24)+(1&-1970)

 

Alemox

Пользователь

Сообщений: 2183
Регистрация: 25.02.2013

Всё хорошо что хорошо кончается. Если б

AAF

не навёл на мысль, так бы и не узнали что это за комбинация цифр.

Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.

 

АlехМ

Пользователь

Сообщений: 1100
Регистрация: 02.05.2017

Если ужать до некуда
=ОТБР(A1/86400)+(1&-70)
Хотя еще 1 символ можно убрать

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

#15

14.07.2017 16:06:25

Цитата
Alemox написал: Если б  AAF  не навёл на мысль, так бы и не узнали что это за комбинация цифр.

Где-то есть еще автор темы )

 

Z

Пользователь

Сообщений: 6111
Регистрация: 21.12.2012

Win 10, MSO 2013 SP1

#16

14.07.2017 16:33:30

Цитата
vikttur написал: Где-то есть еще автор темы )

Главное не это — может еще и объявится! Основное — форумчане, благодаря нашим знатокам, обогатились новым знанием. И от себя скажу «Спасибо!»… ;)

«Ctrl+S» — достойное завершение ваших гениальных мыслей!.. ;)

 

АlехМ

Пользователь

Сообщений: 1100
Регистрация: 02.05.2017

Я то же эти знания положил в копилку. Спасибо!

 

АlехМ

Пользователь

Сообщений: 1100
Регистрация: 02.05.2017

#18

15.07.2017 08:42:06

Если ячейка с формулой имеет формат дата, то округлять не обязательно.
=A1/86400+(1&-70)

Алексей М.
<#0>

Временная метка Unix также называется временем эпохи или временем POSIX, которое широко используется во многих операционных системах или форматах файлов. В этом руководстве обсуждается преобразование даты в метку времени Unix в Excel.

Преобразовать дату в метку времени

Преобразование даты и времени в метку времени

Преобразовать метку времени на дату


 Преобразовать дату в метку времени

Просмотр и редактирование с вкладками нескольких книг Excel / документов Word, таких как Firefox, Chrome, Интернет 10!

Возможно, вы знакомы с просмотром нескольких веб-страниц в Firefox / Chrome / IE и можете переключаться между ними, легко щелкая соответствующую вкладку. Здесь вкладка Office поддерживает аналогичную обработку, позволяя просматривать несколько книг Excel или документов Word в одном окне Excel или Word и легко переключаться между ними, щелкая вкладку. ЧтобыНажмите на бесплатную 45-дневную пробную версию Office Tab!

Чтобы преобразовать дату в метку времени, вы можете использовать формулу для решения проблемы.

Выберите пустую ячейку и введите эту формулу = (A1-DATE (1970,1,1)) * 86400 Enter и нажмитевойтиKey, при необходимости, вы можете применить диапазон этой формулы, перетащив маркер автозаполнения. Теперь ряд ячеек даты преобразован в отметки времени Unix.
DOC- -UNIX 1


 Преобразование даты и времени в метку времени

Существует формула, которая поможет вам преобразовать дату и время в метку времени Unix.

1. Во-первых, вам нужно ввести всемирное координированное время в ячейку 01.01.1970. Смотрите скриншот:

2. Затем введите эту формулу = (A1- $ C $ 1) * 86400 в ячейку, нажмитеВойтиKey и при необходимости используйте эту формулу, чтобы перетащить дескриптор автозаполнения в диапазон. Смотрите скриншот:
DOC- -UNIX 3

подсказки: В формуле A1 — это ячейка даты и времени, а C1 — введенная вами координата мирового времени.


 Преобразовать метку времени на дату

Если у вас есть список меток времени, которые необходимо преобразовать в даты, вы можете выполнить следующие действия:

1. В пустой ячейке рядом со списком отметок времени введите эту формулу = (((A1 / 60) / 60) / 24) + ДАТА (1970,1,1), нажмитевойтиButton, а затем перетащите маркер автозаполнения в нужный диапазон.DOC- -UNIX 4

2. Затем щелкните правой кнопкой мыши ячейку, в которой используется формула, и выберитеФормат ячейкиИз контекстного меню, а затем во всплывающемФормат ячейкиДиалоговое окно под NУмбраЯрлык, щелкнитеДатаВкатегорияСписок, а затем выберите тип даты справа.
DOC- -UNIX 5

3. НажмитеOK, Теперь вы можете видеть, что метка времени Unix была преобразована в дату.
DOC- -UNIX 6

незамедлительный:

1. A1 представляет нужную ячейку с отметкой времени.

2. Эту формулу также можно использовать для преобразования серии отметок времени в дату и время, просто отформатируйте результат в формате даты и времени.


Перепечатано:https://www.extendoffice.com/zh-CN/documents/excel/2473-excel-timestamp-to-date.html


Summary

To convert a Unix timestamp to Excel’s date format, you can use a formula based on the DATE function. In the example shown, the formula in C5 is:

=(B5/86400)+DATE(1970,1,1)

Generic formula

Explanation 

The Unix time stamp tracks time as a running count of seconds. The count begins at the «Unix Epoch» on January 1st, 1970, so a Unix time stamp is simply the total seconds between any given date and the Unix Epoch. Since a day contains 86400 seconds (24 hours x 60 minutes x 60 seconds), conversion to Excel time can be done by dividing days by 86400 and adding the date value for January 1st, 1970.

In the example shown, the formula first divides the time stamp value in B5 by 86400, then adds the date value for the Unix Epoch, January 1, 1970. The formula evaluates like this:

=(B5/86400)+DATE(1970,1,1)
=(1538352000/86400)+25569
=43374

When C5 is formatted with the Excel date «d-mmm-yyyy», the date is displayed as 1-Oct-2018.

How Excel tracks dates time

The Excel date system starts on January 1, 1900 and counts forward. The table below shows the numeric values associated with a few random dates:

Date Raw value
1-Jan-1900 1
28-Jul-1914 00:00 5323
1-Jan-1970 00:00 25569
31-Dec-1999 36525
1-Oct-2018 43374
1-Oct-2018 12:00 PM 43374.5

Notice the last date includes a time as well. Since one day equals 1, and one day equals 24 hours, time in Excel can represented as fractional values of 1, as shown in the table below. In order to see the value displayed as a time, a time format needs to be applied.

Hours Time Fraction Value
3 3:00 AM 3/24 0.125
6 6:00 AM 6/24 0.25
4 4:00 AM 4/24 0.167
8 8:00 AM 8/24 0.333
12 12:00 PM 12/24 0.5
18 6:00 PM 18/24 0.75
21 9:00 PM 21/24 0.875
24 12:00 AM 24/24 1

Dave Bruns Profile Picture

AuthorMicrosoft Most Valuable Professional Award

Dave Bruns

Hi — I’m Dave Bruns, and I run Exceljet with my wife, Lisa. Our goal is to help you work faster in Excel. We create short videos, and clear examples of formulas, functions, pivot tables, conditional formatting, and charts.

Thank you for making my [work] life easier. Whenever a Google search list your website, it is the first place I go.

Get Training

Quick, clean, and to the point training

Learn Excel with high quality video training. Our videos are quick, clean, and to the point, so you can learn Excel in less time, and easily review key topics when needed. Each video comes with its own practice worksheet.

View Paid Training & Bundles

Help us improve Exceljet

Here is a mapping for reference, assuming UTC for spreadsheet systems like Microsoft Excel:

                         Unix  Excel Mac    Excel    Human Date  Human Time
Excel Epoch       -2209075200      -1462        0    1900/01/00* 00:00:00 (local)
Excel ≤ 2011 Mac† -2082758400          0     1462    1904/12/31  00:00:00 (local)
Unix Epoch                  0      24107    25569    1970/01/01  00:00:00 UTC
Example Below      1234567890      38395.6  39857.6  2009/02/13  23:31:30 UTC
Signed Int Max     2147483648      51886    50424    2038/01/19  03:14:08 UTC

One Second                  1       0.0000115740…             —  00:00:01
One Hour                 3600       0.0416666666…             ―  01:00:00
One Day                 86400          1        1             ―  24:00:00

*  “Jan Zero, 1900” is 1899/12/31; see the Bug section below. Excel 2011 for Mac (and older) use the 1904 date system.

As I often use awk to process CSV and space-delimited content, I developed a way to convert UNIX epoch to timezone/DST-appropriate Excel date format:

echo 1234567890 |awk '{ 
  # tries GNU date, tries BSD date on failure
  cmd = sprintf("date -d@%d +%%z 2>/dev/null || date -jf %%s %d +%%z", $1, $1)
  cmd |getline tz                                # read in time-specific offset
  hours = substr(tz, 2, 2) + substr(tz, 4) / 60  # hours + minutes (hi, India)
  if (tz ~ /^-/) hours *= -1                     # offset direction (east/west)
  excel = $1/86400 + hours/24 + 25569            # as days, plus offset
  printf "%.9fn", excel
}'

I used echo for this example, but you can pipe a file where the first column (for the first cell in .csv format, call it as awk -F,) is a UNIX epoch. Alter $1 to represent your desired column/cell number or use a variable instead.

This makes a system call to date. If you will reliably have the GNU version, you can remove the 2>/dev/null || date … +%%z and the second , $1. Given how common GNU is, I wouldn’t recommend assuming BSD’s version.

The getline reads the time zone offset outputted by date +%z into tz, which is then translated into hours. The format will be like -0700 (PDT) or +0530 (IST), so the first substring extracted is 07 or 05, the second is 00 or 30 (then divided by 60 to be expressed in hours), and the third use of tz sees whether our offset is negative and alters hours if needed.

The formula given in all of the other answers on this page is used to set excel, with the addition of the daylight-savings-aware time zone adjustment as hours/24.

If you’re on an older version of Excel for Mac, you’ll need to use 24107 in place of 25569 (see the mapping above).

To convert any arbitrary non-epoch time to Excel-friendly times with GNU date:

echo "last thursday" |awk '{ 
  cmd = sprintf("date -d "%s" +"%%s %%z"", $0)
  cmd |getline
  hours = substr($2, 2, 2) + substr($2, 4) / 60
  if ($2 ~ /^-/) hours *= -1
  excel = $1/86400 + hours/24 + 25569
  printf "%.9fn", excel
}'

This is basically the same code, but the date -d no longer has an @ to represent unix epoch (given how capable the string parser is, I’m actually surprised the @ is mandatory; what other date format has 9-10 digits?) and it’s now asked for two outputs: the epoch and the time zone offset. You could therefore use e.g. @1234567890 as an input.

Bug

Lotus 1-2-3 (the original spreadsheet software) intentionally treated 1900 as a leap year despite the fact that it was not (this reduced the codebase at a time when every byte counted). Microsoft Excel retained this bug for compatibility, skipping day 60 (the fictitious 1900/02/29), retaining Lotus 1-2-3’s mapping of day 59 to 1900/02/28. LibreOffice instead assigned day 60 to 1900/02/28 and pushed all previous days back one.

Any date before 1900/03/01 could be as much as a day off:

Day        Excel   LibreOffice
-1            -1    1899/12/29
 0    1900/01/00*   1899/12/30
 1    1900/01/01    1899/12/31
 2    1900/01/02    1900/01/01
 …
59    1900/02/28    1900/02/27
60    1900/02/29(!) 1900/02/28
61    1900/03/01    1900/03/01

Excel doesn’t acknowledge negative dates and has a special definition of the Zeroth of January (1899/12/31) for day zero. Internally, Excel does indeed handle negative dates (they’re just numbers after all), but it displays them as numbers since it doesn’t know how to display them as dates (nor can it convert older dates into negative numbers). Feb 29 1900, a day that never happened, is recognized by Excel but not LibreOffice.

TLDR

=(A1/86400)+25569

…and the format of the cell should be date.

If it doesn’t work for you

  • If you get a number you forgot to format the output cell as a date.
  • If you get ##### you probably don’t have a real Unix time. Check your
    timestamps in https://www.epochconverter.com/. Try to divide your input by 10, 100, 1000 or 10000**
  • You work with timestamps outside Excel’s (very extended) limits.
  • You didn’t replace A1 with the cell containing the timestamp ;-p

Explanation

Unix system represent a point in time as a number. Specifically the number of seconds* since a zero-time called the Unix epoch which is 1/1/1970 00:00 UTC/GMT. This number of seconds is called «Unix timestamp» or «Unix time» or «POSIX time» or just «timestamp» and sometimes (confusingly) «Unix epoch».

In the case of Excel they chose a different zero-time and step (because who wouldn’t like variety in technical details?). So Excel counts days since 24 hours before 1/1/1900 UTC/GMT. So 25569 corresponds to 1/1/1970 00:00 UTC/GMT and 25570 to 2/1/1970 00:00.

Now if you also note that we have 86400 seconds per day (24 hours x60 minutes x60 seconds) and you will understand what this formula does: A1/86400 converts seconds to days and +25569 adjusts for the offset between what is zero-time for Unix and what is zero-time for Excel.

By the way DATE(1970,1,1) will helpfully return 25569 for you in case you forget all this so a more «self-documenting» way to write our formula is:

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

P.S.: All these were already present in other answers and comments just not laid out as I like them and I don’t feel it’s OK to edit the hell out of another answer.


*: that’s almost correct because you should not count leap seconds

**: E.g. in the case of this question the number was milliseconds since the the Unix epoch.

Unix Timestamp conversions in Excel and in Power query are becoming more and more common.  With the ability to connect to a vast variety of data sources, the likelihood of you coming across a Unix timestamp is increasing.   The first time I came across a UNIX-based time was when I was connecting to a database from Excel and although the field was named Time, I had no idea what all these numbers meant, and I was left totally confused.

Unix time is commonly used in operating systems and programs that timestamp transactions as they happen.  The reason Unix time is used is that no matter where you live or the time zone you are in, this Unix timestamp represents a moment that is the same everywhere.

So, what is Unix time?  Unix time is the duration in seconds or milliseconds from midnight of the 1st January 1970 in UCT time.  It is represented by a 32-bit integer that can be positive or negative.  There is however a limitation of Unix time.  Unfortunately, there are upper and lower bounds which restricts the actual time span available.  Unix time spans from December 13th, 1901, and will end on the 19th of January 2038.  This is known as the Y38 Problem.

So now that you have a basic knowledge of Unix time, how can we work with this in Excel or Power Query?  Throughout the rest of this article, you are going to learn how to carry out Unix Timestamp conversions in Excel.  We will convert back and forth from Unix time to Excel time in both Excel and Power Query. 

How to convert Unix time to Excel Time

Let us first explore converting Unix time to Excel Time.  First, we will look at the formula when the timestamp is in second and then we will look at the formula when the timestamp is in milliseconds.

When time stamp in Seconds

The formula used to convert Unix timestamp recorded in seconds is:

= (Unix time/86400) +DATE (1970,1,1)

Remember to replace Unix Time with the cell reference that contains the Unix timestamp.

Once you enter this formula into the cell, the formula can be dragged down and copied to other cells in the workbook.

Unix Timestamp conversions in Excel

When the timestamp is in Milliseconds

The formula used to convert Unix timestamp recorded in milliseconds is:

= ((Unix time/1000)/86400) +DATE (1970,1,1)

Remember to replace Unix Time with the cell reference that contains the Unix timestamp.

Unix Timestamp conversions in Excel

How to convert Excel time to Unix time

With a reversal of the formula, we used to convert Unix time to Excel time, we can covert Excel time to Unix time.

The formula to convert Excel time to Unix time in seconds is.

= ((Excel Time – DATE(1970,1,1)) *86400

Remember to replace Excel Time in the formula with the cell reference that contains the time you wish to convert to Unix time.

Unix Timestamp conversions in Excel

The formula to convert Excel time to Unix time in milliseconds is.

= ((Excel Time -DATE (1970,1,1)) *1000) *86400

Unix Timestamp conversions in Excel

How to convert Unix time in Power query

Power query is used in both Excel and Power BI to connect to and transform data into a useable format.  The more you connect to different data sources the more often you will come across date columns in Unix format.  Once you have the data in Power query, a calculated column can be added to the data to carry out the conversions necessary.

How to convert from Unix time in Power Query for Excel and Power BI

From the Add Column tab on the ribbons in Power Query, select Custom Column.  This will allow us to set up a new column in our data based on a calculation or formula.

Unix Timestamp conversions in Excel

When we select Custom Column, a new box will open to allow us to enter a formula.  We can give our new column a name and enter the formula into the space provided.  Remember to replace [Unix time] with the column in Power query that contains the Unix time.

The formula we need to enter when converting from a timestamp recorded in seconds is as follows.

=#datetime(1970,1,1,0,0,0) + duration(0,0,0,[Unix time])

The formula we need to enter when converting from a timestamp recorded in milliseconds is as follows.

=#datetime(1970,1,1,0,0,0) + duration(0,0,0,[Unix time]/1000)

Unix Timestamp conversions in Excel

Once we confirm our formula by pressing OK, a new column will appear in Power query showing the date and time.

Unix Timestamp conversions in Excel

The last step is to ensure you set this new column to the correct data type.  This can be done from the Transform tab in the Power Query Ribbons. 

Unix Timestamp conversions in Excel

Depending on your need, you can select between

  • Date/Time
  • Date
  • Time
  • Date/Time/Time zone
  • Duration

In the example shown, we have selected the data type of Date.

Unix Timestamp conversions in Excel

How to convert to Unix time in Power Query for Excel and Power BI

Using Power Query in both Excel and Power BI it is easy to convert an Excel or Power BI date and time to a Unix timestamp using a custom column as we did above.

Once we have the date-time column in Power query, Select custom column.

Unix Timestamp conversions in Excel

The function we use to convert to Unix time is:

Duration.TotalSeconds([Excel date/time column]-#datetime(1970,1,1,0,0,0) )

(remember to replace [Excel date/time column] with the column that contains the date/time that you wish to convert to Unix.)

Unix Timestamp conversions in Excel

Conclusion

The more we work with different data sources in Excel Working with Unix Time in Excel and In Power Query for Excel and Power BI will become more and more common.  For this reason, we need to have the ability to convert Unix time to Excel time and Excel time to Unix time.  In this article, we looked at using both formulas and Power Query to carry out Unix Timestamp conversions in Excel.  If you are working with large sets of data, I would recommend the Power query option, but then if you are working with a large set of data that contains Unix timestamps, most likely you have used Power Query to connect to it in the first place.

Понравилась статья? Поделить с друзьями:
  • Как перевести tiff в word для редактирования
  • Как перевести tex в word
  • Как перевести read the word
  • Как перевести rar в word онлайн
  • Как перевести put in a word