TULOA
TULOA

Reputation: 147

UTCNow offsetting in Python

How would I exactly go about offsetting the timestamp returned by datetime.utcnow() by any amount of time such as a day?

For example:

now = datetime.utcnow().isoformat() + 'Z'

I need the above offset by a day. Having a minor issue when my script crosses into the daylight savings time conversion but I dont need to see past it however since it loads today also it dies because the python script errors doing work on the date today now.

Upvotes: 3

Views: 680

Answers (1)

Patrick Artner
Patrick Artner

Reputation: 51683

To simply add a certain delta time onto UTC add a timedelta:

from datetime import datetime, timedelta

now = (datetime.utcnow() + timedelta(days=3)).isoformat() + 'Z'

print(now)

Output:

2018-11-06T16:55:06.535804Z

More info on python with timezones can be found at Python UTC datetime object's ISO format doesn't include Z (Zulu or Zero offset)

With 3.7 datetime.strptime and datetime.strftime even recognize 01:30 as %z - up to 3.6 the colon would make it crash :)

Upvotes: 4

Related Questions