Temporal API – Thay thế hoàn hảo cho Moment, date-fns, Luxon?
Chào anh em dev, mình là devfe. Hôm nay cùng nhau khám phá xem Temporal API mới này có gì ngon nghẻ nhé. Đọc xong nhớ thả "🔥❤️🦄🙌" và follow mình nha.
🤔 Temporal API là gì?
Temporal API là một tính năng mới trong JavaScript, giúp xử lý ngày giờ chính xác hơn nhiều so với object Date
cũ kỹ. Nó cung cấp nhiều kiểu dữ liệu để xử lý ngày, giờ, khoảng thời gian và hỗ trợ chỉnh sửa một cách cực kỳ linh hoạt.
Lý do nó đáng để upgrade 🛠️:
1️⃣ Object bất biến (immutable), khỏi lo lỡ tay mutate
2️⃣ Hỗ trợ múi giờ sẵn, khỏi cần lib ngoài
3️⃣ API rõ ràng, dễ hiểu cho việc cộng trừ thời gian
4️⃣ Phân biệt rõ ràng giữa thời gian đồng hồ (wall-clock) và thời gian thực tế
5️⃣ Có object Duration xịn xò để tính toán khoảng thời gian
📌 Làm sao để dùng Temporal API?
Hiện tại bạn có thể dùng Temporal API thông qua polyfill. Dùng được cả npm lẫn yarn, rất tiện nếu trình duyệt chưa hỗ trợ native.
Dùng NPM:
npm install @js-temporal/polyfill
Dùng YARN:
yarn add @js-temporal/polyfill
🔥 Một số ví dụ thực chiến
1. Cộng thêm thời gian vào ngày hiện tại:

Đoạn code trên cộng thêm 2 tiếng vào thời gian hiện tại và format nó ra chuỗi.
2. So sánh hai ngày:

So sánh thời gian hiện tại với ngày 31/12/2022, trả về -1, 0 hoặc 1 tùy theo kết quả trước, bằng hoặc sau.
3. Tạo ngày từ chuỗi:

Tạo object ngày từ chuỗi ISO và format ra dạng string.
4. Trừ thời gian từ ngày hiện tại:

Trừ đi 3 tháng từ thời gian hiện tại, sau đó format ra chuỗi.
5. Tính thời gian giữa 2 mốc:

Tính số giây giữa thời gian hiện tại và ngày 25/12/2025. Ứng dụng tốt cho việc tính thời gian hết hạn của JWT chẳng hạn.
✅ Kết bài
Xem thêm ví dụ tại đây 👉 Temporal API Cheatsheet
Có ai ở đây cũng mừng rỡ khi không còn phải dùng “new Date()” nữa không 😅?
Hẹn gặp lại anh em ở blog tiếp theo!
Happy coding nhé! 🚀
Nhận xét
Đăng nhận xét