Задайте временные зоны

В MATLAB®часовой пояс включает смещение времени от координированного универсального времени (UTC), смещение летнего времени и набор исторических изменений этих значений. Установка часового пояса сохранена в TimeZone свойство каждого datetime массив. Когда вы создаете datetime, он по умолчанию отменяется. То есть, TimeZone свойство datetime пусто (''). Если вы не работаете со значениями datetime из нескольких часовых поясов и не должны учету летнего времени сохранения времени, вам может не понадобиться указывать это свойство.

Можно задать часовой пояс при создании datetime, используя 'TimeZone' аргумент пары "имя-значение". Значение часового пояса 'local' задает системный часовой пояс. Чтобы отобразить смещение часового пояса для каждого datetime, включите спецификатор смещения часового пояса, такой как 'Z' в значении для 'Format' аргумент.

t = datetime(2014,3,8:9,6,0,0,'TimeZone','local',...
    'Format','d-MMM-y HH:mm:ss Z')
t = 

   8-Mar-2014 06:00:00 -0500   9-Mar-2014 06:00:00 -0400

В зависимости от того, происходит ли datetime в дневное сохранение времени, отображается другое смещение часового пояса.

Можно изменить часовой пояс существующего datetime. Для примера измените TimeZone свойство t использование записи через точку. Вы можете задать значение часового пояса как имя области часового пояса в базе данных часового пояса IANA. Область часового пояса учитывает текущие и исторические правила для стандартных и дневных смещений от UTC, которые наблюдаются в этой географической области.

t.TimeZone = 'Asia/Shanghai'
t = 

   8-Mar-2014 19:00:00 +0800   9-Mar-2014 18:00:00 +0800

Можно также задать значение часового пояса как вектор символов формы +HH:mm или -HH:mm, который представляет часовой пояс с фиксированным смещением от UTC, который не наблюдает дневного сохранения времени.

t.TimeZone = '+08:00'
t = 

   8-Mar-2014 19:00:00 +0800   9-Mar-2014 18:00:00 +0800

Операции с массивами datetime с часовыми поясами автоматически учитывают различия в часовых поясах. Для примера создайте datetime в другом часовом поясе.

u = datetime(2014,3,9,6,0,0,'TimeZone','Europe/London',...
    'Format','d-MMM-y HH:mm:ss Z')
u = 

   9-Mar-2014 06:00:00 +0000

Просмотрите временное различие между двумя массивами datetime.

dt = t - u
dt = 

   -19:00:00    04:00:00

При выполнении операций с использованием массивов datetime все массивы должны иметь связанный с ними часовой пояс, либо все они не должны иметь часового пояса.

См. также

|

Похожие темы