Home >Backend Development >Python Tutorial >How Do I Convert UTC Datetime Strings to Local Datetimes in Python?
Converting UTC Datetime Strings to Local Datetimes
Converting time between UTC and local time zones can be a challenging task. This article addresses the specific problem of converting a UTC datetime string to a datetime object in the user's correct time zone.
UTC Time Storage and Conversion
The provided code uses datetime.utcfromtimestamp(timestamp) to convert a timestamp to UTC time. To store the data in BigTable, it is recommended to use a string representation of the UTC datetime.
Local Time Conversion
To convert the UTC datetime string to a local time, the Python-dateutil library offers a convenient solution. It provides implementations of time zone information based on the Olson database, allowing you to refer to time zones by canonical names.
Implementation
Here's an example of how to convert a UTC datetime string to a local datetime:
from datetime import datetime from dateutil import tz # Auto-detect the current timezone local_zone = tz.tzlocal() # Parse the UTC datetime string utc_str = "2011-01-21 02:37:21" utc = datetime.strptime(utc_str, '%Y-%m-%d %H:%M:%S') # Convert to local time local = utc.astimezone(local_zone)
Time Zone Storage
For storing time zone information, the recommendation is to use the pytz library, which provides a comprehensive database of time zones and allows for easy manipulation of time zone information.
The above is the detailed content of How Do I Convert UTC Datetime Strings to Local Datetimes in Python?. For more information, please follow other related articles on the PHP Chinese website!