Excel Power Query - преобразование даты и времени из UTC в местное

Я подключаюсь к базе данных MS SQL через Power Query (версия: 2.10.3598.81) в Excel 2010.

Мои даты хранятся в базе данных в формате UTC, однако я хотел бы показать их как локальные в электронной таблице.

DateTimeZone.From () - преобразуется в тип DateTimeZone, но предполагает, что дата ввода находится в местном часовом поясе. Это полная противоположность тому, что я хочу.

DateTimeZone.ToLocal () - выдает ошибку, я думаю, потому что в исходной дате нет информации о часовом поясе.

Местный в моем случае - австралийское EST, однако было бы здорово, если бы Excel просто выбрал местный часовой пояс. (Похоже, что уже это делает)


person AdamH    schedule 02.04.2014    source источник


Ответы (1)


Думаю, я нашел ответ.

Функция DateTime.AddZone (), которая, как я думал, использовалась для преобразования часовых поясов, на самом деле используется для добавления информации о часовом поясе к существующей дате. Если ваша дата - UTC, вы должны использовать DateTime.AddZone ([date_created], 0), а если ваша дата уже была в AEST, вы должны использовать DateTime.AddZone ([date_created], 10) .

Итак, теперь я могу использовать:

DateTimeZone.ToLocal(DateTime.AddZone([date_created_UTC],0))

и Power Query правильно преобразует мою дату создания из UTC в AEST (или что-то другое).

person AdamH    schedule 30.04.2014
comment
А если время местное, которое переключается между летним временем и нормальным? - person user15741; 22.04.2021