DEV Community

Cover image for Snippet: Change timezone for DateTime object
Peter van der Does
Peter van der Does

Posted on

Snippet: Change timezone for DateTime object

Information

Convert a Python DateTime object from one timezone to another timezone. This snippet accepts either a naive or aware DateTime object.

Snippet

# code/timezone.py  import datetime as dt import pytz def to_timezone(datetime_value, tz): """ Convert the given datetime object to a datetime object with the given timezone. Accepts both aware and naive datetime objects Parameters ---------- datetime_value: datetime.datetime tz: pytz.timezone Returns ------- datetime.datetime """ if not isinstance(datetime_value, dt.datetime): raise SyntaxError if not hasattr(tz, "zone") or tz.zone not in pytz.all_timezones: raise SyntaxError if ( datetime_value.tzinfo is not None and datetime_value.tzinfo.utcoffset(datetime_value) is not None ): datetime_value = datetime_value.astimezone(tz) else: datetime_value = tz.localize(datetime_value) return datetime_value 
Enter fullscreen mode Exit fullscreen mode

Found a typo?

If you've found a typo, a sentence that could be improved or anything else that should be updated on this blog post, you can access it through a git repository and make a pull request. Instead of posting a comment, please go directly to GitHub and open a pull request with your changes.


Photo by Ijaz Rafi - https://unsplash.com/photos/L4hg5o67jdw

Top comments (0)