Specify Time Zones
In MATLAB, a time zone includes the time offset from Coordinated Universal Time (UTC), the daylight
saving time offset, and a set of historical changes to those values. The time zone setting is stored in
the TimeZone property of each datetime array. When you create a datetime, it is unzoned by
default. That is, the TimeZone property of the datetime is empty (''). If you do not work with
datetime values from multiple time zones and do not need to account for daylight saving time, you
might not need to specify this property.
You can specify a time zone when you create a datetime, using the 'TimeZone' name-value pair
argument. The time zone value 'local' specifies the system time zone. To display the time zone
offset for each datetime, include a time zone offset specifier such as 'Z' in the value for the
'Format' argument.
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
A different time zone offset is displayed depending on whether the datetime occurs during daylight
saving time.
You can modify the time zone of an existing datetime. For example, change the TimeZone property of
t using dot notation. You can specify the time zone value as the name of a time zone region in the
IANA Time Zone Database. A time zone region accounts for the current and historical rules for
standard and daylight offsets from UTC that are observed in that geographic region.
t.TimeZone = 'Asia/Shanghai'
t =
8-Mar-2014 19:00:00 +0800
9-Mar-2014 18:00:00 +0800
You also can specify the time zone value as a character vector of the form +HH:mm or -HH:mm, which
represents a time zone with a fixed offset from UTC that does not observe daylight saving time.
t.TimeZone = '+08:00'
t =
8-Mar-2014 19:00:00 +0800
9-Mar-2014 18:00:00 +0800
Operations on datetime arrays with time zones automatically account for time zone differences. For
example, create a datetime in a different time zone.
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
View the time difference between the two datetime arrays.
dt = t - u
Specify Time Zones
7-5
In MATLAB, a time zone includes the time offset from Coordinated Universal Time (UTC), the daylight
saving time offset, and a set of historical changes to those values. The time zone setting is stored in
the TimeZone property of each datetime array. When you create a datetime, it is unzoned by
default. That is, the TimeZone property of the datetime is empty (''). If you do not work with
datetime values from multiple time zones and do not need to account for daylight saving time, you
might not need to specify this property.
You can specify a time zone when you create a datetime, using the 'TimeZone' name-value pair
argument. The time zone value 'local' specifies the system time zone. To display the time zone
offset for each datetime, include a time zone offset specifier such as 'Z' in the value for the
'Format' argument.
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
A different time zone offset is displayed depending on whether the datetime occurs during daylight
saving time.
You can modify the time zone of an existing datetime. For example, change the TimeZone property of
t using dot notation. You can specify the time zone value as the name of a time zone region in the
IANA Time Zone Database. A time zone region accounts for the current and historical rules for
standard and daylight offsets from UTC that are observed in that geographic region.
t.TimeZone = 'Asia/Shanghai'
t =
8-Mar-2014 19:00:00 +0800
9-Mar-2014 18:00:00 +0800
You also can specify the time zone value as a character vector of the form +HH:mm or -HH:mm, which
represents a time zone with a fixed offset from UTC that does not observe daylight saving time.
t.TimeZone = '+08:00'
t =
8-Mar-2014 19:00:00 +0800
9-Mar-2014 18:00:00 +0800
Operations on datetime arrays with time zones automatically account for time zone differences. For
example, create a datetime in a different time zone.
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
View the time difference between the two datetime arrays.
dt = t - u
Specify Time Zones
7-5
