日期时间与日期的时差为0秒

时间:2019-04-13 08:44:46

标签: python

我正在尝试获取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)

1 个答案:

答案 0 :(得分:2)

要使用总秒数,请使用total_seconds而不是seconds

hours = abs((dt -datetime_object).total_seconds()) // 3600

请注意,total_seconds是一种方法,因此在括号内