My timezone is UTC+5.
So when i do datetime.datetime.now() it gives:
2012-07-14 06:11:47.318000
#note its 6AM
I wanted to subtract 5 hours from it so that it becomes equal to datetime.datetime.utcnow() so i did:
import time
from datetime import datetime, timedelta
dt = datetime.now() - timedelta(hours=time.timezone/60/60)
print dt
#gives 2012-07-14 11:11:47.319000
"""
Here 11 is not the PM its AM i double check it by doing
print dt.strftime('%H:%M:%S %p')
#gives 11:11:47 AM
"""
You see instead of subtracting 5 hours it adds 5 hours into datetime??
Am I doing something wrong here?
You’re creating a negative timedelta. The value of
time.timezoneis negative:Here, I’m in UTC + 10, so your code becomes: