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

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

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

|

Похожие темы