TypeScript:
Chuyển đổi một ngày thành chuỗi
Làm thế nào:
// Chuyển đổi đơn giản sử dụng toLocaleString()
let date = new Date();
let dateString = date.toLocaleString();
console.log(dateString); // "4/3/2023, 1:15:30 PM" (sẽ thay đổi tùy theo ngôn ngữ)
// Định dạng ISO sử dụng toISOString()
let isoString = date.toISOString();
console.log(isoString); // "2023-04-03T13:15:30.000Z"
// Định dạng tùy chỉnh sử dụng toLocaleDateString()
let customString = date.toLocaleDateString('en-US', {
year: 'numeric',
month: 'long',
day: 'numeric',
});
console.log(customString); // "April 3, 2023"
Tìm hiểu sâu hơn
Hãy nghĩ về định dạng chuỗi ngày như là hộ chiếu của nó, cho phép nó di chuyển qua các ranh giới hệ thống - từ cơ sở dữ liệu đến trang web. Lịch sử, chúng ta đã gặp vấn đề với các định dạng ngày không nhất quán, đó là lý do tại sao các tiêu chuẩn như ISO 8601 được giới thiệu. Điều này làm cho việc trao đổi ngày trở nên đơn giản trên toàn thế giới.
Các phương pháp thay thế cho các phương pháp được xây dựng sẵn? Thư viện! Moment.js đã là lựa chọn hàng đầu trong nhiều năm, nhưng ngày nay date-fns hoặc Luxon được ưa chuộng hơn - chúng nhẹ hơn và có tính mô-đun cao hơn.
Bản chất của những chuyển đổi này nằm ở các phương pháp được sử dụng. toLocaleString()
dựa vào ngôn ngữ của người dùng, làm cho nó hoàn hảo để hiển thị cho người dùng. toISOString()
, tuy nhiên, giữ trung thành với định dạng ISO 8601, điều này rất tuyệt vời cho việc tuần tự hóa và lưu trữ ngày trong một định dạng tiêu chuẩn. Và toLocaleDateString()
cho bạn kiểm soát về hình thức, phục vụ cho nhu cầu phong cách cụ thể.