仅将年份从日期字段复制到另一个字段

时间:2019-01-03 23:59:17

标签: python gis

我正在尝试仅将年份从带有month/day/year的日期字段复制到仅包含year的另一个字段。我没法抽出我需要的那一部分。
当我阅读日期字段时,将返回以下内容:

(datetime.datetime(1989, 8, 28, 0, 0),)

(datetime.datetime(1984, 9, 27, 0, 0),)

我尝试将前4个同时读取为整数和字符串

我知道这应该很简单,但是在我的班上只有一堂课的时候,我很挣扎。希望我已经包含了足够的内容而没有包含太多内容。

我尝试将前4个同时读取为整数和字符串。我还尝试过使datetime.isoformat工作。

table=r'Y:Data.gdb\SDSample'

newdata={}
with open(table, 'wb') as fp:
    writer=csv.DictReader(fp)
    for row in writer:
        year= int(row['first_Date'])
        newdata[year]=row

with arcpy.da.UpdateCursor(table,  field_names=['first_Date', 
'Record_Year']) as updater:    
    for row in updater:
        #extract year (first 4 didgits) from date 
        first = row[0][:4]

        #insert into Record_Year field
        row[1]=first
        updater.updateRow(row)

2 个答案:

答案 0 :(得分:0)

如果您有日期时间“ t”变量,则应该只设置year = t.year

答案 1 :(得分:0)

如果x = datetime.datetime(1989, 8, 28, 0, 0)要获得年份,则可以执行x.year输出1989。希望这会有所帮助。