Rust:
文字列から日付をパースする
方法:
Rustの標準ライブラリを使用する(chrono
クレート)
Rust標準ライブラリには日付解析が直接含まれていませんが、広く使用されているchrono
クレートは、日付と時間の操作に堅牢なソリューションを提供します。まず、Cargo.toml
にchrono
を追加します:
[dependencies]
chrono = "0.4"
次に、chrono
を使用して日付文字列をNaiveDate
オブジェクトに解析します:
extern crate chrono;
use chrono::NaiveDate;
fn main() {
let date_str = "2023-04-01";
let date = NaiveDate::parse_from_str(date_str, "%Y-%m-%d")
.expect("日付の解析に失敗しました");
println!("解析した日付: {}", date);
}
// サンプル出力:
// 解析した日付: 2023-04-01
Rustの高度な日時処理を使用する(time
クレート)
より高度な日時処理、包括的な解析を含む場合には、time
クレートを検討します。まず、Cargo.toml
にそれを含めます:
[dependencies]
time = "0.3"
次に、Date
型とPrimitiveDateTime
を使用して日付文字列を解析します:
use time::{Date, PrimitiveDateTime, macros::datetime};
fn main() {
let date_str = "2023-04-01 12:34:56";
let parsed_date = PrimitiveDateTime::parse(
date_str,
&datetime!("%Y-%m-%d %H:%M:%S")
).expect("日付と時刻の解析に失敗しました");
println!("解析した日時: {}", parsed_date);
}
// サンプル出力:
// 解析した日時: 2023-04-01 12:34:56
これらの例は、Rustがサードパーティのクレートを通じて、日付文字列を操作可能な日付オブジェクトに解析する手助けをする方法を示しており、時間的データを扱うソフトウェア開発において強力なツールであることを証明しています。