TypeScript:
การแปลงวันที่เป็นสตริง
วิธีการ:
// การแปลงแบบง่ายๆ โดยใช้ toLocaleString()
let date = new Date();
let dateString = date.toLocaleString();
console.log(dateString); // "4/3/2023, 1:15:30 PM" (จะแตกต่างกันตามสถานที่)
// รูปแบบ ISO โดยใช้ toISOString()
let isoString = date.toISOString();
console.log(isoString); // "2023-04-03T13:15:30.000Z"
// รูปแบบที่กำหนดเองโดยใช้ toLocaleDateString()
let customString = date.toLocaleDateString('en-US', {
year: 'numeric',
month: 'long',
day: 'numeric',
});
console.log(customString); // "April 3, 2023"
ทำความเข้าใจลึกซึ้ง
คิดถึงรูปแบบสตริงของวันที่เหมือนกับหนังสือเดินทางของมัน ทำให้สามารถเดินทางข้ามขอบเขตระบบได้ - จากฐานข้อมูลไปยังเว็บเพจ ในอดีต เราเคยอยู่กับรูปแบบวันที่ที่ไม่ตรงกัน นั่นเป็นเหตุผลที่มีการแนะนำมาตรฐานเช่น ISO 8601 เพื่อให้การแลกเปลี่ยนวันที่ทั่วโลกง่ายขึ้น
เลือกอื่นที่ไม่ใช่วิธีในตัว? ไลบรารี! Moment.js คือตัวเลือกหลักมาหลายปี แต่ในปัจจุบัน date-fns หรือ Luxon เป็นตัวเลือกที่ชื่นชอบ - เพราะมันเบากว่าและมีโมดูลมากกว่า
สาระสำคัญของการแปลงเหล่านี้อยู่ในวิธีการที่ใช้ toLocaleString()
อิงกับสถานที่ของผู้ใช้, ทำให้มันเหมาะสมอย่างยิ่งในการแสดงให้กับผู้ใช้ toISOString()
อย่างไรก็ตาม, ยังคงจริงกับรูปแบบ ISO 8601, ซึ่งเป็นเรื่องยอดเยี่ยมสำหรับการทำให้วันที่มีรูปแบบมาตรฐานสำหรับการเก็บรักษา และ toLocaleDateString()
ให้คุณควบคุมรูปลักษณ์, ตอบสนองต่อความต้องการด้านสไตล์เฉพาะ