EsriTimeDelta (arcpy.time)

摘要

EsriTimeDelta 类表示持续时间,即两个日期或时间之差。

讨论

EsriTimeDelta 类为核心 Python datetime.timedelta 的备选选项,针对核心 Python 时间增量对象无法处理的时间间隔使用内部 Esri 时间单位(例如月、周等)。

LayerTimeDataFrameTime 类中的 timeStepInterval 属性返回EsriTimeDelta 对象。

法律声明法律声明:

在 10.1 之前的版本,DataFrameTime 类中的 timeStepInterval 属性返回核心 Python datetime.timedelta 对象。

语法

EsriTimeDelta (interval, units)
参数说明数据类型
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

属性

属性说明数据类型
interval
(只读)

The interval of the EsriTimeDelta.

Double
units
(只读)

The units of the EsriTimeDelta.

String

代码实例

EsriTimeDelta 示例 1

以下脚本首先访问地图文档中已启用时间属性的图层的时间步长间隔属性,时间步长间隔为 EsriTimeDelta 对象。然后打印 EsriTimeDelta 属性。

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 示例 2

以下脚本使用 EsriTimeDelta 对象从当前日期开始遍历从十二个月的时长。

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 示例 3

以下脚本显示 EsriTimeDelta 处理闰年的方式。该脚本将在 2008 年 1 月 31 日之后添加一个月,然后返回 2008 年 2 月 29 日。

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
5/10/2014