การแยกวันที่ออกจากสตริง

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