Python:获取最后一小时的日期时间

时间:2011-09-28 11:12:58

标签: python datetime hour

我想获取最后一小时的日期时间对象。 可以说系统时间是“2011-9-28 06:11:30” 我希望输出为“2011-9-28 05”#{06 - 1小时}

我用过:

    lastHourDateTime = date.today() - timedelta(hours = 1)
    print lastHourDateTime.strftime('%Y-%m-%d %H:%M:%S')

但是,我的输出根本没有显示时间部分。我哪里错了?

3 个答案:

答案 0 :(得分:76)

日期没有小时 - 使用日期时间:

from datetime import datetime, timedelta
last_hour_date_time = datetime.now() - timedelta(hours = 1)
print last_hour_date_time.strftime('%Y-%m-%d %H:%M:%S')

答案 1 :(得分:16)

这对我有用:

import datetime

lastHourDateTime = datetime.datetime.now() - datetime.timedelta(hours = 1)
print lastHourDateTime.strftime('%Y-%m-%d %H')

# prints "2011-09-28 12" which is the time one hour ago in Central Europe

答案 2 :(得分:0)

您可以使用pandas实现相同的目标:

import pandas as pd
pd.Timestamp.now() - pd.Timedelta('1 hours')