chronotope / chrono-tz

TimeZone implementations for rust-chrono from the IANA database
Other
235 stars 56 forks source link

Ambiguous local time #99

Closed fggarcia closed 2 years ago

fggarcia commented 2 years ago
fn date_time_example(date: &str) {
    let location_date_time = date.to_string();
    let vector = location_date_time.split(';').collect::<Vec<&str>>();
    let (date, timezone) = (vector[0], vector[1]);
    println!("pre date: {}", date);
    let date_string = format!("{}", vector[0]);
    println!("get_date_time_from : {} - {}", date_string, timezone);
    let date_time = NaiveDateTime::parse_from_str(date_string.as_str(),"%FT%X%.3f").unwrap();
    let timezone: Tz = timezone.parse().unwrap();
    let result = timezone.from_local_datetime(&date_time).unwrap();
    println!("{}", result.to_rfc3339());
}

fn main() {
    //"2023-04-01T23:00:00.000;America/Santiago"
    //"2022-11-06T01:29:00.000;America/Los_Angeles"
    let vec = vec![
    "2022-11-06T01:29:00.000;America/Los_Angeles"];
    for date in vec {
        date_time_example(date);
    }
}

output:

pre date: 2022-11-06T01:29:00.000
get_date_time_from : 2022-11-06T01:29:00.000 - America/Los_Angeles
thread 'main' panicked at 'Ambiguous local time, ranging from 2022-11-06T01:29:00PDT to 2022-11-06T01:29:00PST', /home/fede/.cargo/registry/src/github

Someone??

fggarcia commented 2 years ago

if replace example date with "2022-11-06T20:29:00.000;America/Los_Angeles"

pre date: 2022-11-06T20:29:00.000
get_date_time_from : 2022-11-06T20:29:00.000 - America/Los_Angeles
2022-11-06T20:29:00-08:00
djc commented 2 years ago

Please ask an explicit question stating your expected result vs the actual result.