EsriTimeDelta (arcpy.time)

Resumen

La clase EsriTimeDelta representa una duración, la diferencia entre dos fechas u horas.

Debate

La clase EsriTimeDelta es una alternativa a datetime.timedelta de núcleo de Python que utiliza unidades de tiempo internas de Esri para intervalos que no pueden ser controlados por el objeto timedelta del núcleo de Python (tales como meses, semanas, etc.).

La propiedad timeStepInterval de las clases LayerTime y DataFrameTime devuelve objetos EsriTimeDelta.

HerenciaHerencia:

Antes de la versión 10.1, la propiedad timeStepInterval de la clase DataFrameTime devolvía objetos datetime.timedelta del núcleo de Python.

Sintaxis

EsriTimeDelta (interval, units)
ParámetroExplicaciónTipo de datos
interval

The interval of the EsriTimeDelta.

Double
units

The units of the EsriTimeDelta. Valid units are milliseconds, seconds, minutes, hours, days, weeks, months, years, decades, and centuries.

String

Propiedades

PropiedadExplicaciónTipo de datos
interval
(Sólo lectura)

The interval of the EsriTimeDelta.

Double
units
(Sólo lectura)

The units of the EsriTimeDelta.

String

Ejemplo de código

EsriTimeDelta example 1

The following script accesses the time-step interval property of a time-enabled layer in a map document. The time-step interval is an EsriTimeDelta object. The script then prints EsriTimeDelta properties.

import arcpy
mxd = arcpy.mapping.MapDocument('C:/Project/Temperature.mxd')
df = arcpy.mapping.ListDataFrames(mxd, 'USA')[0]
lyr = arcpy.mapping.ListLayers(mxd,'temperature', df)[0]
tsi = lyr.time.timeStepInterval
print "Time Step Interval:", tsi
print "EsriTimeDelta interval:", tsi.interval
print "EsriTimeDelta units:", tsi.units
EsriTimeDelta example 2

The following script uses the EsriTimeDelta object to iterate through twelve months starting from the current date.

import arcpy, datetime

time = datetime.datetime.now()

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

The following script shows how the EsriTimeDelta handles leap years. The script adds a month to January 31, 2008 and returns February 29, 2008.

import arcpy, datetime

time = datetime.datetime(2008, 1, 31)

for delta in range(0, 12):
    next_date = time + arcpy.time.EsriTimeDelta(delta, "months")
    print next_date
    delta = delta + 1
9/11/2013