我正在尝试获取python中两个日期之间的小时数,第一个是输入日期,第二个是经过精简的文件名称中的日期。
dt = datetime.strptime("2019-04-15T00:37:00", '%Y-%m-%dT%H:%M:%S')
//dt is the input date
for filename in os.listdir('.'):
if filename.endswith(".mseed"):
file_struct = filename.split('.')
datetime_object = datetime.strptime(file_struct[0], '%Y%m%d%H%M%S')
hours = abs((dt- datetime_object).seconds)//3600
print(dt, datetime_object, hours)
continue
else:
continue
结果是:
(datetime.datetime(2019,4,15,15,0,37,10),'20190405082044',16)
(datetime.datetime(2019,4,15,15,0,37,10),'20190405000000',0)
(datetime.datetime(2019,4,15,15,0,37,10),'20190405083710',16)
看起来有点烦恼20190405000000(他的日期时间obj是datetime.datetime(2019, 4, 5, 0, 0)
)
答案 0 :(得分:2)
要使用总秒数,请使用total_seconds
而不是seconds
hours = abs((dt -datetime_object).total_seconds()) // 3600
请注意,total_seconds
是一种方法,因此在括号内