Search code examples
pythontimestampepoch

Epoch time for last calender week


Problem:

I want to generate epoch start and end time for last calender week.

Suppose today in GMT is GMT: Wednesday, June 13, 2018 7:38:21 AM I need to generate start epoch and end epoch time for GMT for last week in calender which is not 7 days before today.

It means today epoch 1528875278 - 604800 is not correct.

What i requres is something like this.

start: 1527964200,endtime:1528568999 Which actually translates to

start : Saturday, June 2, 2018 6:30:00 PM
end   : Saturday, June 9, 2018 6:29:59 PM

What i tried:

import time
today_time = int(time.time())
start_time = int(time.time()) - 604800 +/- some_bias
end_time   = int(time.time()) - 604800 +/- some_bias

Can anyone help me here?


Solution

  • This should help.

    import datetime
    
    def getDate():
        today = datetime.datetime.now()
        idx = (today.weekday() + 1) % 7
        d = today - datetime.timedelta(7+idx-6)
        end = d.strftime("%A, %B %d, %Y %H:%M:%S %p") 
        start = (d-datetime.timedelta(days=7)).strftime("%A, %B %d, %Y %H:%M:%S %p")
        return {"end": end, "start": start}
    
    print( getDate() )
    

    Output:

    {'start': 'Saturday, June 02, 2018 13:28:13 PM', 'end': 'Saturday, June 09, 2018 13:28:13 PM'}