Excel time to utc

There are two things in the date/time that are giving issue. The first is the T that denotes the start of time. Excel uses a space. The second is the Everything to the right of the +.

If we get rid of those then excel will see it as a Date/Time. So use this to remove the unwanted information:

=--SUBSTITUTE(LEFT(G2,FIND("+",G2)-1),"T"," ")

enter image description here

EDIT

As was pointed out by @ForwardEd this only brings in the UTC time.

Upon further thinking since this is computer generated the format will remain the same. The following formula also considers the time zone:

=(SUBSTITUTE(LEFT(A1,27),"T"," "))+(MID(A1,28,3)/24)

![enter image description here

Then format it like you want:

enter image description here

And you get:

enter image description here


Временная метка 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% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

The problem

I had a CSV file that needed to be processed on a web page. So I had to convert the Excel time to UTC time.

The solution

According to this answer on StackOverflow:

The Excel number for a modern date is most easily calculated as the number of days since 12/30/1899 on the Gregorian calendar.

Excel treats the mythical date 01/00/1900 (i.e., 12/31/1899) as corresponding to 0, and incorrectly treats year 1900 as a leap year. So for dates before 03/01/1900, the Excel number is effectively the number of days after 12/31/1899.

UTC time is represented in JavaScript as the number of milliseconds since 1/1/1970, so there are effectively:

  • 70 years between the two starting points
  • Plus 1 day as Excel starts at 31 Dec
  • Plus 17 leap years in that period
  • Plus 1 day as Excel treats 1900 incorrectly as a leap year too (this only applies for dates after 1 March 1900).

This means that the Excel time is 70 * 365 + 1 + 17 + 1 = 25569 days before the UTC start.
As one day is 24 * 60 * 60 = 86400 seconds or 86400 * 1000 milliseconds, you get:

utcTime = (excelTime — 25569) * 86400000

Note

  • Since Excel writes large numbers with an exponent, you may prefer to save the number in seconds,
    and multiply by 1000 in JavaScript (it will make the file much smaller too)
  • Beware that you may have to compenstate for the timezone offset. E.g. in the Netherlands,
    the reported time is likely given using GMT+1, so you need to additionally subtract one hour too,
    giving you the following formula:

utcTime = ((excelTime — 25569) * 86400 — 3600) * 1000

Using the UTCTIME function from this question and answer:

Option Explicit

' Use the PtrSafe attribute for x64 installations
Private Declare PtrSafe Function FileTimeToLocalFileTime Lib "Kernel32" (lpFileTime As FILETIME, ByRef lpLocalFileTime As FILETIME) As Long
Private Declare PtrSafe Function LocalFileTimeToFileTime Lib "Kernel32" (lpLocalFileTime As FILETIME, ByRef lpFileTime As FILETIME) As Long
Private Declare PtrSafe Function SystemTimeToFileTime Lib "Kernel32" (lpSystemTime As SYSTEMTIME, ByRef lpFileTime As FILETIME) As Long
Private Declare PtrSafe Function FileTimeToSystemTime Lib "Kernel32" (lpFileTime As FILETIME, ByRef lpSystemTime As SYSTEMTIME) As Long

Public Type FILETIME
  LowDateTime As Long
  HighDateTime As Long
End Type

Public Type SYSTEMTIME
  Year As Integer
  Month As Integer
  DayOfWeek As Integer
  Day As Integer
  Hour As Integer
  Minute As Integer
  Second As Integer
  Milliseconds As Integer
End Type


'===============================================================================
' Convert local time to UTC
'===============================================================================
Public Function UTCTIME(local_time As Date) As Date
  Dim oLocalFileTime As FILETIME
  Dim oUtcFileTime As FILETIME
  Dim oSystemTime As SYSTEMTIME

  ' Convert to a SYSTEMTIME
  oSystemTime = DateToSystemTime(local_time)

  ' 1. Convert to a FILETIME
  ' 2. Convert to UTC time
  ' 3. Convert to a SYSTEMTIME
  Call SystemTimeToFileTime(oSystemTime, oLocalFileTime)
  Call LocalFileTimeToFileTime(oLocalFileTime, oUtcFileTime)
  Call FileTimeToSystemTime(oUtcFileTime, oSystemTime)

  ' Convert to a Date
  UTCTIME = SystemTimeToDate(oSystemTime)
End Function



'===============================================================================
' Convert UTC to local time
'===============================================================================
Public Function LOCALTIME(utc_time As Date) As Date
  Dim oLocalFileTime As FILETIME
  Dim oUtcFileTime As FILETIME
  Dim oSystemTime As SYSTEMTIME

  ' Convert to a SYSTEMTIME.
  oSystemTime = DateToSystemTime(utc_time)

  ' 1. Convert to a FILETIME
  ' 2. Convert to local time
  ' 3. Convert to a SYSTEMTIME
  Call SystemTimeToFileTime(oSystemTime, oUtcFileTime)
  Call FileTimeToLocalFileTime(oUtcFileTime, oLocalFileTime)
  Call FileTimeToSystemTime(oLocalFileTime, oSystemTime)

  ' Convert to a Date
  LOCALTIME = SystemTimeToDate(oSystemTime)
End Function



'===============================================================================
' Convert a Date to a SYSTEMTIME
'===============================================================================
Private Function DateToSystemTime(Value As Date) As SYSTEMTIME
  With DateToSystemTime
    .Year = Year(Value)
    .Month = Month(Value)
    .Day = Day(Value)
    .Hour = Hour(Value)
    .Minute = Minute(Value)
    .Second = Second(Value)
  End With
End Function



'===============================================================================
' Convert a SYSTEMTIME to a Date
'===============================================================================
Private Function SystemTimeToDate(Value As SYSTEMTIME) As Date
  With Value
    SystemTimeToDate = _
      DateSerial(.Year, .Month, .Day) + _
      TimeSerial(.Hour, .Minute, .Second)
  End With
End Function

You can then use something like =UTCTIME(B1):

enter image description here

Combined with some custom formatting — yyyy-mm-ddThh:mm:ss

enter image description here

Я хотел бы использовать эту строку как дату в Excel

2016-04-06T18:05:32.6550717+03:00

Как это можно преобразовать?

2 ответа

Лучший ответ

Есть две вещи в дате / времени, которые вызывают проблемы. Первый — это T, обозначающий начало времени. Excel использует пробел. Второй — Все справа от +.

Если мы избавимся от них, Excel увидит это как дату / время. Поэтому используйте это для удаления нежелательной информации:

=--SUBSTITUTE(LEFT(G2,FIND("+",G2)-1),"T"," ")

enter image description here

ИЗМЕНИТЬ

Как было указано в @ForwardEd, это только время в формате UTC.

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

=(SUBSTITUTE(LEFT(A1,27),"T"," "))+(MID(A1,28,3)/24)

![enter image description here

Затем отформатируйте его, как хотите:

enter image description here

И вы получите:

enter image description here



9

Scott Craner
6 Апр 2016 в 18:29

Учитывая дату в формате UTC, например : 2017-08-22T14:26:30.000+1000

=(DATEVALUE(MID(A1,1,10)) +TIMEVALUE( MID(A1,12,12)))+TIME(MID(A1,25,4)/100,0,0)


7

jimjim
25 Авг 2017 в 07:43

Понравилась статья? Поделить с друзьями:
  • Excel time from time and date
  • Excel time from seconds
  • Excel time code to date
  • Excel time between dates
  • Excel this row number