Rust:
การแยกวันที่ออกจากสตริง
วิธีการ:
การใช้ไลบรารีมาตรฐานของ Rust (chrono
Crate)
ไลบรารีมาตรฐานของ Rust ไม่รวมฟังก์ชันการแปลงวันที่โดยตรง แต่ crate chrono
ที่ใช้กันอย่างแพร่หลาย เป็นโซลูชันที่มั่นคงสำหรับการจัดการวันที่และเวลา ก่อนอื่น เพิ่ม chrono
ลงใน Cargo.toml
ของคุณ:
[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("Failed to parse date");
println!("วันที่ที่แปลงได้: {}", date);
}
// ตัวอย่างผลลัพธ์:
// วันที่ที่แปลงได้: 2023-04-01
การใช้การจัดการวัน-เวลาขั้นสูงของ Rust (time
Crate)
สำหรับการจัดการวัน-เวลาที่ซับซ้อนมากขึ้น รวมถึงการแปลงที่สะดวกยิ่งขึ้น พิจารณาใช้ crate 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("Failed to parse date and time");
println!("วันที่และเวลาที่แปลงได้: {}", parsed_date);
}
// ตัวอย่างผลลัพธ์:
// วันที่และเวลาที่แปลงได้: 2023-04-01 12:34:56
ทั้งสองตัวอย่างแสดงให้เห็นว่า Rust กับการช่วยเหลือจาก crates ของบุคคลที่สาม สามารถทำให้งานการแปลงสตริงวันที่เป็นออบเจ็ควันที่ที่สามารถจัดการได้ ทำให้เป็นเครื่องมือที่มีประสิทธิภาพสำหรับการพัฒนาซอฟต์แวร์ที่เกี่ยวข้องกับข้อมูลเชิงเวลา