TimeZoneInfo (arcpy.time)

Récapitulatif

The TimeZoneInfo class can be used to read or assign a time zone to a Python datetime object.

Discussion

Native datetime objects are not time zone aware. By assigning a time zone to a datetime object, time zone-related operations can be performed. For example, you can use the time zone associated with a time value and convert it to another time zone.

Syntaxe

TimeZoneInfo (time_zone_id)
ParamètreExplicationType de données
time_zone_id

A valid time zone ID. A list of available time zone IDs can be obtained from the ListTimeZones function.

String

Vue d'ensemble des méthodes

MéthodeExplication
tzname (dt)

Returns the time zone name corresponding to the Python datetime object, dt, as a string.

Méthodes

tzname (dt)
ParamètreExplicationType de données
dt

A reference to a Python datetime object.

(La valeur par défaut est None)

DateTime
Valeur renvoyée
Type de donnéesExplication
String

The time zone name corresponding to the datetime object, dt.

Returns the time zone name corresponding to the datetime object, dt, as a string.

Exemple de code

TimeZoneInfo example 1

The following script applies a 'Pacific Standard Time' time zone to a Python datetime object. It then loops through each month to demonstrate how the time zone name will change to 'Pacific Daylight Time' during the summer in observance of Daylight Savings Time.

import arcpy
import datetime

tzinfo = arcpy.time.TimeZoneInfo('Pacific Standard Time')

time = datetime.datetime(2011, 1, 1, tzinfo=tzinfo)

for delta in range(1, 13):
    next_date = time + arcpy.time.EsriTimeDelta(1 * delta, "months")
    print next_date, tzinfo.tzname(next_date)
TimeZoneInfo example 2

The following script demonstrates how to convert a datetime value in Pacific Standard Time to Eastern Standard Time.

import arcpy
import datetime

from_tzinfo = arcpy.time.TimeZoneInfo('Pacific Standard Time')
target_tzInfo = arcpy.time.TimeZoneInfo('Eastern Standard Time')
from_time = datetime.datetime.now(from_tzinfo)
print "target_time =", str(from_time.astimezone(target_tzInfo))
9/12/2013