Path: blob/main/docs/source/src/rust/user-guide/transformations/time-series/timezones.rs
7890 views
// --8<-- [start:setup]1use polars::prelude::*;2// --8<-- [end:setup]34fn main() -> Result<(), Box<dyn std::error::Error>> {5// --8<-- [start:example]6let ts = ["2021-03-27 03:00", "2021-03-28 03:00"];7let tz_naive = Column::new("tz_naive".into(), &ts);8let time_zones_df = DataFrame::new(vec![tz_naive])?9.lazy()10.select([col("tz_naive").str().to_datetime(11Some(TimeUnit::Milliseconds),12None,13StrptimeOptions::default(),14lit("raise"),15)])16.with_columns([col("tz_naive")17.dt()18.replace_time_zone(Some(TimeZone::UTC), lit("raise"), NonExistent::Raise)19.alias("tz_aware")])20.collect()?;2122println!("{}", &time_zones_df);23// --8<-- [end:example]2425// --8<-- [start:example2]26let time_zones_operations = time_zones_df27.lazy()28.select([29col("tz_aware")30.dt()31.replace_time_zone(32TimeZone::opt_try_new(Some("Europe/Brussels")).unwrap(),33lit("raise"),34NonExistent::Raise,35)36.alias("replace time zone"),37col("tz_aware")38.dt()39.convert_time_zone(40TimeZone::opt_try_new(Some("Asia/Kathmandu"))41.unwrap()42.unwrap(),43)44.alias("convert time zone"),45col("tz_aware")46.dt()47.replace_time_zone(None, lit("raise"), NonExistent::Raise)48.alias("unset time zone"),49])50.collect()?;51println!("{}", &time_zones_operations);52// --8<-- [end:example2]5354Ok(())55}565758