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 ของบุคคลที่สาม สามารถทำให้งานการแปลงสตริงวันที่เป็นออบเจ็ควันที่ที่สามารถจัดการได้ ทำให้เป็นเครื่องมือที่มีประสิทธิภาพสำหรับการพัฒนาซอฟต์แวร์ที่เกี่ยวข้องกับข้อมูลเชิงเวลา