https://stackoverflow.com/questions/61179070/rust-chrono-parse-date-string-parseerrornotenough-and-parseerrortooshort https://docs.rs/chrono/latest/chrono/format/strftime/index.html | Epoch | +0900 | +0000 | -0500 | | ---------- | ------------------------ | ------------------------ | ------------------------ | | 0 | 1970-01-01T09:00:00+0900 | 1970-01-01T00:00:00+0000 | 1969-12-31T19:00:00-0500 | | 1587200400 | 2020-04-18T18:00:00+0900 | 2020-04-18T09:00:00+0000 | 2020-04-18T04:00:00-0500 | | Epoch | +0900 | +0000 | -0500 | | ---------- | ------------------------ | ------------------------ | ------------------------ | | 0 | 1970-01-01T09:00:00+0900 | 1970-01-01T00:00:00+0000 | 1969-12-31T19:00:00-0500 | | 1587200400 | 2020-04-18T18:00:00+0900 | 2020-04-18T09:00:00+0000 | 2020-04-18T04:00:00-0500 | # 日付変換 ```rust // let x = Local.datetime_from_str("2022-04-01T12:30:00", "%Y-%m-%dT%H:%M:%S"); // let d = NaiveDate::parse_from_str("2022-04-01T12:30:00", "%Y-%m-%dT%H:%M:%S").unwrap(); // let dt = NaiveDateTime::parse_from_str("2022-04-01T12:30:00", "%Y-%m-%dT%H:%M:%S").unwrap(); // println!("{}", d.year()); // println!("{}", d.month()); // println!("{}", dt.year()); // println!("{}", dt.month()); // println!("{}", dt.hour()); // let n = Local::now(); // println!("{}", n.timestamp()); // // let d: DateTime; // // let x = Local.datetime_from_str("2022-05-01T12:30:12+0500", "%Y-%m-%dT%H:%M:%S%Z").unwrap(); // // let x = DateTime::parse_from_str("2022-05-01T12:30:12+0500", "%Y-%m-%dT%H:%M:%S%z").unwrap(); // // println!("{}", x.offset().local_minus_utc()); // let aaa: DateTime = FixedOffset::east(3 * 3600).from_local_datetime(&dt).unwrap(); // let bbb: Date = FixedOffset::east(3 * 3600).from_local_date(&d).unwrap(); // let ccc = bbb.and_hms(12, 30, 0); // println!("{}", aaa.timestamp()); // println!("{}", bbb); // println!("{}", ccc.timestamp()); // // println!("{}", bbb); // println!("====="); // for format in formats_without_offset { // if let Ok(dt) = Local.datetime_from_str(date_str, format) { // return Ok(EpochInfo { // epoch_sec: dt.timestamp(), // offset_sec: dt.offset().local_minus_utc(), // date_str: date_str.to_string(), // }); // } // } // if date_str.len() == 10 { // let date_str_midnight = format!("{}T00:00:00", date_str); // println!("{}", date_str_midnight); // for format in formats_without_date { // if let Ok(dt) = Local.datetime_from_str(&date_str_midnight, format) { // return Ok(EpochInfo { // epoch_sec: dt.timestamp(), // offset_sec: dt.offset().local_minus_utc(), // date_str: date_str_midnight, // }); // } // } // } ``` # あやしいやつ Asia/Hebron 2022-03-26T14:19:34+0200 cioQlLOAPvj8KBnksHSG3pENHHEvqdKvKX8