2017-03-03 7 views
7

मैं क्रेट क्रोनो का उपयोग कर रहा हूं; कुछ खुदाई के बाद मैंने पाया कि DateTime प्रकार में एक फ़ंक्शन timestamp() है जो i64 प्रकार के युग का समय उत्पन्न कर सकता है। हालांकि, मुझे यह पता नहीं चला कि इसे वापस DateTime में कैसे परिवर्तित किया जाए।युग समय को मानक तिथि और समय में कैसे परिवर्तित करें?

extern crate chrono; 
use chrono::*; 

fn main() { 
    let date = chrono::UTC.ymd(2020, 1, 1).and_hms(0, 0, 0); 
    println!("{}", start_date.timestamp()); 
    // ...how to convert it back? 
} 

उत्तर

3

आपको सबसे पहले एक NaiveDateTime बनाने और उसके बाद इसका इस्तेमाल एक DateTime फिर से बनाने के लिए की जरूरत:

fn main() { 
    let datetime = UTC.ymd(2020, 1, 1).and_hms(0, 0, 0); 
    let timestamp = datetime.timestamp(); 
    let naive_datetime = NaiveDateTime::from_timestamp(timestamp, 0); 
    let datetime_again: DateTime<UTC> = DateTime::from_utc(naive_datetime, UTC); 

    println!("{}", datetime_again); 
} 
+1

मैं ([thisplace] में एक ऐसी ही उपयोग https://docs.rs/ खोज करने में कामयाब chrono/*/src/chrono/datetime.rs.html # 42), लेकिन स्पष्ट रूप से आपका उत्तर अधिक संक्षिप्त और मैत्रीपूर्ण है। धन्यवाद! – Sajuuk

संबंधित मुद्दे