2015-06-29 21 views
7

Ich habe ein Datum im folgenden Format: "2014-03-10 11:20:34.3454". Wie kann ich dieses Datum analysieren?Wie analysiere ich ein Datum mit Millisekunden?

Die chrono doc erwähnt Parsing Jahr, Monat, ..., Minuten und Sekunden. Keine Millisekunden. Auch wenn ich wieder auf rust-datetime schaue - keine Millisekunden.

Auf der anderen Seite kann ich ein DateTime wie dieses UTC.ymd(2014, 11, 28).and_hms_milli(7, 8, 9, 10) erstellen. So Rust weiß Millisekunden ...

+0

Es scheint, Sie kein Glück :(Eine schnelle Anfrage an die Autoren könnte es ^^ –

+0

Ok, bekommen hinzugefügt, was ist die beste Art und Weise, wie Autoren zu kontaktieren, bitte? – stej

+0

ein Problem auf Github öffnen, würde ich annehmen. –

Antwort

4
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), 
    }; 
} 

Ausgang:

2014/03/10 11:20:34.345400000 

strptime() und strftime() sind sehr hilfreich, wenn die Zeit Werte. Außerdem neigen sie dazu, in den meisten Sprachen zu arbeiten, so dass sich das Lernen im Laufe der Zeit lohnt.

+2

das ist schön, Sie müssen durch Reifen springen, um Millisekunden in C++ zu bekommen. Ich wünschte, Rost wäre 30 Jahre alt. – nurettin

+0

Nebenbei ist '% F% T '' ein strftime Shortcut für '"% Y-% m-% d% H:% M:% S "'. Auch die Beschreibung von '% D' ist immer kichernswert. http://man7.org/linux/man-pages/man3/strftime.3.html – Synesso

Verwandte Themen