Временная метка Unix также называется временем эпохи или временем POSIX, которое широко используется во многих операционных системах или форматах файлов. В этом руководстве рассказывается о преобразовании между датой и меткой времени Unix в Excel.
Преобразовать дату в метку времени
Преобразование даты и времени в метку времени
Преобразовать метку времени на дату
Дополнительные руководства по преобразованию даты и времени …
Преобразовать дату в метку времени
Чтобы преобразовать дату в метку времени, формула может вычислить это.
Выберите пустую ячейку, предположим, ячейку C2, и введите эту формулу = (C2-ДАТА (1970,1,1)) * 86400 в это и нажмите Enter key, при необходимости вы можете применить диапазон с этой формулой, перетащив маркер автозаполнения. Теперь диапазон ячеек даты преобразован в метки времени Unix.
Преобразование даты и времени в метку времени
Существует формула, которая может помочь вам преобразовать дату и время в метку времени Unix.
1. Во-первых, вам нужно ввести всемирное координированное время в ячейку, 1. Смотрите скриншот:
2. Затем введите эту формулу = (A1- $ C $ 1) * 86400 в ячейку, нажмите Enter , а затем при необходимости перетащите дескриптор автозаполнения в диапазон с этой формулой. Смотрите скриншот:
Tips: В формуле A1 — это ячейка даты и времени, C1 — введенная вами координата всемирного времени.
Преобразовать метку времени на дату
Если у вас есть список временных меток, необходимых для преобразования на сегодняшний день, вы можете сделать следующие шаги:
1. В пустой ячейке рядом со списком временных меток введите эту формулу. =(((A1/60)/60)/24)+DATE(1970,1,1), нажмите Enter и перетащите маркер автозаполнения в нужный диапазон.
2. Затем щелкните правой кнопкой мыши ячейки, в которых используется формула, и выберите Формат ячеек из контекстного меню, затем во всплывающем Формат ячеек диалог под Nвокруг вкладку нажмите Время в Категория список, затем выберите тип даты в правом разделе.
3. Нажмите OK, теперь вы можете видеть, что метки времени Unix преобразованы в даты.
Ноты:
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-дневная гарантия возврата денег.
Вкладка 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 |
Всем здравствовать! Ребята, подскажите пожалуйста, как можно в excel перевести порядковый номер даты (такого формата «1498219368») в более осознанный формат «14.07.2017». |
Владимир Пользователь Сообщений: 8196 |
А почему этот текст — «1498219368» должен стать датой? «..Сладку ягоду рвали вместе, горьку ягоду я одна.» |
Сергей Пользователь Сообщений: 11251 |
и интересует эт какой год от рождества христова 1498219368 Лень двигатель прогресса, доказано!!! |
kavaka Пользователь Сообщений: 179 |
Выставить формат ячейки на дату? |
Z Пользователь Сообщений: 6111 Win 10, MSO 2013 SP1 |
#5 14.07.2017 12:17:34
В числах это будет, однако 42930,00, а ваши «1498219368» — это из области чегой-то запредельного… «Ctrl+S» — достойное завершение ваших гениальных мыслей!.. |
||
Юрий М Модератор Сообщений: 60585 Контакты см. в профиле |
Может это какой-нибудь буддийский календарь? ) |
Alemox Пользователь Сообщений: 2183 |
Всё просто: Есть ещё даты такие чтоб проверить теорию? Изменено: Alemox — 14.07.2017 14:38:04 Мастерство программиста не в том, чтобы писать программы, работающие без ошибок. |
Bema Пользователь Сообщений: 6761 |
Alemox, браво . Действительно все просто оказалось. Изменено: Bema — 14.07.2017 14:41:28 Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл |
AAF Пользователь Сообщений: 1000 |
#9 14.07.2017 14:48:20 Unix время
и, возможно GMT прибавить придется… Изменено: AAF — 14.07.2017 15:17:58 |
||
vikttur Пользователь Сообщений: 47199 |
#10 14.07.2017 15:21:08
Вывих мозга |
||
Alemox Пользователь Сообщений: 2183 |
#11 14.07.2017 15:22:09 Стало интересно всё таки. Пошарился и отрыл следующую информацию
Формула для преобразования: Насчёт функции ОКРВНИЗ, никогда не использовал, но кому интересно почитайте . Изменено: Alemox — 14.07.2017 15:26:46 Мастерство программиста не в том, чтобы писать программы, работающие без ошибок. |
||
АlехМ Пользователь Сообщений: 1100 |
Alemox, тогда можно так |
Alemox Пользователь Сообщений: 2183 |
Всё хорошо что хорошо кончается. Если б AAF не навёл на мысль, так бы и не узнали что это за комбинация цифр. Мастерство программиста не в том, чтобы писать программы, работающие без ошибок. |
АlехМ Пользователь Сообщений: 1100 |
Если ужать до некуда |
vikttur Пользователь Сообщений: 47199 |
#15 14.07.2017 16:06:25
Где-то есть еще автор темы ) |
||
Z Пользователь Сообщений: 6111 Win 10, MSO 2013 SP1 |
#16 14.07.2017 16:33:30
Главное не это — может еще и объявится! Основное — форумчане, благодаря нашим знатокам, обогатились новым знанием. И от себя скажу «Спасибо!»… «Ctrl+S» — достойное завершение ваших гениальных мыслей!.. |
||
АlехМ Пользователь Сообщений: 1100 |
Я то же эти знания положил в копилку. Спасибо! |
АlехМ Пользователь Сообщений: 1100 |
#18 15.07.2017 08:42:06 Если ячейка с формулой имеет формат дата, то округлять не обязательно. Алексей М. |
Временная метка 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.
Преобразование даты и времени в метку времени
Существует формула, которая поможет вам преобразовать дату и время в метку времени Unix.
1. Во-первых, вам нужно ввести всемирное координированное время в ячейку 01.01.1970. Смотрите скриншот:
2. Затем введите эту формулу = (A1- $ C $ 1) * 86400 в ячейку, нажмитеВойтиKey и при необходимости используйте эту формулу, чтобы перетащить дескриптор автозаполнения в диапазон. Смотрите скриншот:
подсказки: В формуле A1 — это ячейка даты и времени, а C1 — введенная вами координата мирового времени.
Преобразовать метку времени на дату
Если у вас есть список меток времени, которые необходимо преобразовать в даты, вы можете выполнить следующие действия:
1. В пустой ячейке рядом со списком отметок времени введите эту формулу = (((A1 / 60) / 60) / 24) + ДАТА (1970,1,1), нажмитевойтиButton, а затем перетащите маркер автозаполнения в нужный диапазон.
2. Затем щелкните правой кнопкой мыши ячейку, в которой используется формула, и выберитеФормат ячейкиИз контекстного меню, а затем во всплывающемФормат ячейкиДиалоговое окно под NУмбраЯрлык, щелкнитеДатаВкатегорияСписок, а затем выберите тип даты справа.
3. НажмитеOK, Теперь вы можете видеть, что метка времени Unix была преобразована в дату.
незамедлительный:
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 |
Author
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.
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.
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.
The formula to convert Excel time to Unix time in milliseconds is.
= ((Excel Time -DATE (1970,1,1)) *1000) *86400
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.
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)
Once we confirm our formula by pressing OK, a new column will appear in Power query showing the date and time.
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.
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.
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.
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.)
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.