Rust:
การแปลงวันที่เป็นสตริง
วิธีการ:
crate chrono
ของ Rust เป็นตัวเลือกอันดับแรกสำหรับการจัดการวันที่และเวลา ตรวจสอบให้แน่ใจว่ามันอยู่ในไฟล์ Cargo.toml
ของคุณ:
[dependencies]
chrono = "0.4"
ตอนนี้, มาเริ่มต้นการจัดรูปแบบวันที่เป็นสตริงกัน
extern crate chrono;
use chrono::{DateTime, Utc, NaiveDateTime};
fn main() {
let date: DateTime<Utc> = Utc::now(); // รับวันที่และเวลา UTC ปัจจุบัน
let formatted_date = date.format("%Y-%m-%d %H:%M:%S").to_string();
println!("{}", formatted_date); // พิมพ์: 2023-03-15 14:30:45
}
ศึกษาลึกลงไป
ก่อนหน้า chrono
, ไลบรารีมาตรฐานของ Rust มีฟังก์ชันการจัดการวันที่และเวลาเพียงไม่กี่อย่างและฟังก์ชันเหล่านั้นก็ค่อนข้างเบื้องต้น chrono
ได้พัฒนาต่อยอดจากพื้นฐานนั้นเพื่อให้มีฟังก์ชันการทำงานที่ครอบคลุมยิ่งขึ้น อีกทางเลือกหนึ่งอาจเป็น crate time
ใหม่ของ Rust ที่มีเป้าหมายเพื่อให้ API ที่ปลอดภัยและใช้งานง่ายยิ่งขึ้น
เมื่อคุณแปลงวันที่เป็นสตริง, คุณกำลังทำการ serialize – การเปลี่ยนข้อมูลให้กลายเป็นรูปแบบที่สามารถแบ่งปันหรือเก็บข้อมูลได้ รูปแบบที่คุณเลือก (%Y-%m-%d %H:%M:%S
ในกรณีนี้) ขึ้นอยู่กับคุณ, และ chrono
รองรับรูปแบบต่างๆมากมาย
ภายใน, วันที่มักจะถูกเก็บเป็นเวลาที่แสดงเป็นวินาทีจากจุดเริ่มต้น, เช่น Unix epoch (วันที่ 1 มกราคม 1970) เมื่อคุณจัดรูปแบบวันที่, คุณคำนวณรูปแบบที่เข้าใจได้จากมนุษย์จากจำนวนนี้, โดยพิจารณาถึงเขตเวลาและวินาทีอึดพิเศษ
ดูเพิ่มเติม
- เอกสารของ crate
chrono
: https://docs.rs/chrono/ - เอกสารของ crate
time
ของ Rust: https://docs.rs/time/ - ไวยากรณ์สำหรับจัดรูปแบบวันที่: http://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table