Python: get datetime of last hour

Question:

I want to get the date time object for last hour.
Lets say the sys time is “2011-9-28 06:11:30”
I want to get the output as “2011-9-28 05” #{06 – 1 hour}

I used:

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

However, my output is not showing the time part at all. where am I going wrong?

Asked By: Rishav Sharan

||

Answers:

This works for me:

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
Answered By: eumiro

Date doesn’t have the hour – use 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'))
Answered By: Adam Morris

You can achieve the same goal using pandas:

import pandas as pd
pd.Timestamp.now() - pd.Timedelta('1 hours')
Answered By: nimbous
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.