Настройка часовых поясов

В 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, массивы или должны были все сопоставить часовой пояс с ними, или у них должна все нет времени зона.

Смотрите также

|

Похожие темы