We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Marco Gorelli - Polars and time zones: everything you need to know | PyData Global 2023
Learn how to handle time zones effectively in Polars: from DST transitions to timezone conversions. Practical tips for working with datetime data in data analysis workflows.
- 
    
When dealing with time zones, use specialized libraries like Polars rather than handling them manually due to complexities with DST, time zone changes, and cross-country differences
 - 
    
Datetime values have two key components: time unit (smallest representable time increment) and time zone
 - 
    
The difference between calendar duration (1d) and fixed duration (24h) is important - a calendar day can be 23, 24, or 25 hours due to DST changes
 - 
    
Store datetimes in UTC for consistency, but perform logic in local time zones when working with DST-affected data
 - 
    
Convert_timezone vs replace_timezone:
- Convert answers “what time is it now in another location?”
 - Replace changes the zone while keeping the same local time
 
 - 
    
Polars handles time zones by deferring to the Rust ChronoTZ library, offering better post-2038 support compared to pandas’ PYTZ
 - 
    
When reading timezone-aware data from CSVs in Polars, it converts everything to UTC when strings contain UTC offsets
 - 
    
Time zone boundaries and day lengths vary by location due to DST transitions happening at different dates globally
 - 
    
Using PyArrow strings instead of regular strings improves performance when working with datetime data
 - 
    
For datetime interpolation and manipulation, Polars offers expressions and the
.dtnamespace with timezone-aware operations