59

過去 1 時間の日時オブジェクトを取得したい。システム時刻が「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

日付に時間がありません - datetime を使用してください:

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 に答える