关注我,学习Rust不迷路!!
在 Rust 中,有多种方法可以在时间和字符串之间进行转换。以下是五种常见的方式:文章来源地址https://www.toymoban.com/news/detail-626155.html
1. 使用 chrono 库进行转换:
use chrono::{NaiveDateTime, DateTime, Utc, TimeZone};
fn main() {
// 字符串转时间
let datetime_str = "2022-01-01T12:00:00Z";
let datetime: DateTime<Utc> = datetime_str.parse().unwrap();
// 时间转字符串
let datetime: DateTime<Utc> = Utc::now();
let datetime_str = datetime.to_rfc3339();
println!("时间转字符串:{}", datetime_str);
println!("字符串转时间:{}", datetime);
}
2. 使用 strftime 和 strptime 函数进行转换:
use std::time::SystemTime;
use time::strftime;
use time::strptime;
fn main() {
// 时间转字符串
let current_time = SystemTime::now();
let datetime_str = strftime("%Y-%m-%d %H:%M:%S", ¤t_time).unwrap();
// 字符串转时间
let datetime_str = "2022-01-01 12:00:00";
let datetime = strptime(datetime_str, "%Y-%m-%d %H:%M:%S").unwrap();
println!("时间转字符串:{}", datetime_str);
println!("字符串转时间:{}", datetime);
}
3. 使用 serde 库进行序列化和反序列化:
use chrono::{DateTime, Utc};
use serde::{Serialize, Deserialize};
fn main() {
// 时间转字符串
let datetime: DateTime<Utc> = Utc::now();
let datetime_str = serde_json::to_string(&datetime).unwrap();
// 字符串转时间
let datetime_str = r#""2022-01-01T12:00:00Z""#;
let datetime: DateTime<Utc> = serde_json::from_str(datetime_str).unwrap();
println!("时间转字符串:{}", datetime_str);
println!("字符串转时间:{}", datetime);
}
4. 使用自定义格式化和解析函数进行转换:
use chrono::{DateTime, Utc};
fn main() {
// 时间转字符串
let datetime: DateTime<Utc> = Utc::now();
let datetime_str = datetime.format("%Y-%m-%d %H:%M:%S").to_string();
// 字符串转时间
let datetime_str = "2022-01-01 12:00:00";
let datetime = DateTime::parse_from_str(datetime_str, "%Y-%m-%d %H:%M:%S").unwrap();
println!("时间转字符串:{}", datetime_str);
println!("字符串转时间:{}", datetime);
}
5. 使用 time 库进行转换:
use chrono::prelude::*;
fn main() {
// 字符串转时间
let datetime_str = "2022-01-01 12:00:00";
let datetime = NaiveDateTime::parse_from_str(datetime_str, "%Y-%m-%d %H:%M:%S").unwrap();
// 时间转字符串
let datetime = Local::now();
let datetime_str = datetime.format("%Y-%m-%d %H:%M:%S").to_string();
println!("时间转字符串:{}", datetime_str);
println!("字符串转时间:{}", datetime);
}
关注我,学习Rust不迷路!!
文章来源:https://www.toymoban.com/news/detail-626155.html
到了这里,关于没有jodatime,rust里怎么将字符串转为日期呢?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!