59

我想获取最后一小时的日期时间对象。假设系统时间是“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')

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

4

3 回答 3

116

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

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'))
于 2011-09-28T11:15:27.350 回答
20

这对我有用:

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
于 2011-09-28T11:15:09.263 回答
1

您可以使用以下方法实现相同的目标pandas

import pandas as pd
pd.Timestamp.now() - pd.Timedelta('1 hours')
于 2020-07-10T16:03:20.293 回答