Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to parse a date with milliseconds?

Tags:

rust

I have a date in the following format: "2014-03-10 11:20:34.3454". How can I parse this date?

The chrono doc mentions parsing year, month, ..., minutes and seconds. No milliseconds. Also when I look at rust-datetime again - no milliseconds.

On the other hand, I can create a DateTime like this UTC.ymd(2014, 11, 28).and_hms_milli(7, 8, 9, 10). So Rust knows milliseconds...

like image 951
stej Avatar asked Jun 29 '15 22:06

stej


1 Answers

extern crate time;

fn main() {
    match time::strptime("2014-03-10 11:20:34.3454",
                         "%Y-%m-%d %H:%M:%S.%f")
    {
        Ok(v) => println!("{}", time::strftime("%Y/%m/%d %H:%M:%S.%f",
                                               &v).unwrap()),
        Err(e) => println!("Error: {}", e),
    };
}

Output:

2014/03/10 11:20:34.345400000

strptime() and strftime() are quite helpful when using time values. Plus, they tend to work in most languages so learning it once pays well over time.

like image 109
Sean Perry Avatar answered Sep 30 '22 10:09

Sean Perry