14 điểm bởi hongminhee 2025-01-24 | 6 bình luận | Chia sẻ qua WhatsApp
  1. Tổng quan
  • Việc triển khai đối tượng JavaScript Temporal đã bắt đầu được phát hành trong các phiên bản thử nghiệm của trình duyệt
  • Việc xử lý ngày và giờ cho các nhà phát triển web sẽ được đơn giản hóa và hiện đại hóa đáng kể
  • Có thể sử dụng các tính năng tích hợp sẵn hiệu quả và chính xác trong các ứng dụng xử lý lịch biểu, quốc tế hóa và dữ liệu liên quan đến thời gian
  1. Các vấn đề của đối tượng JavaScript Date
  • Được tạo ra bằng cách sao chép triển khai ban đầu của java.util.Date trong Java năm 1995
  • Chỉ hỗ trợ giờ địa phương của người dùng và UTC, không hỗ trợ múi giờ
  • Hành vi phân tích cú pháp rất thiếu ổn định và đối tượng có thể thay đổi được (mutable)
  • Khó tính toán giờ tiết kiệm ánh sáng ban ngày (DST) và các thay đổi lịch sử của lịch
  1. Các tính năng chính của Temporal
  • Được thiết kế như một sự thay thế hoàn chỉnh cho đối tượng Date
  • Hỗ trợ biểu diễn múi giờ và lịch
  • Cung cấp hơn 200 phương thức tiện ích
  • Bao gồm nhiều chức năng như chuyển đổi, so sánh, tính toán và định dạng
  1. Tình hình hỗ trợ trên trình duyệt
  • Firefox hiện có bản triển khai trưởng thành nhất
  • Được cung cấp như một tính năng thử nghiệm trong Firefox Nightly
  • Safari và Chrome cũng đang trong quá trình triển khai
  • Có thể thử nghiệm qua @js-temporal/polyfill trên trang tài liệu TC39
  1. Các thành phần cốt lõi
  • Duration: chênh lệch giữa hai thời điểm
  • Instant: dấu thời gian
  • ZonedDateTime: ngày/giờ có múi giờ
  • PlainDateTime: ngày/giờ không có múi giờ
  • Cung cấp thêm nhiều lớp khác liên quan đến ngày/giờ

API mới này được kỳ vọng sẽ mang đến một cách tiếp cận hiện đại để xử lý ngày và giờ trong JavaScript.

6 bình luận

 
wkang586 2025-01-28

Tin nhắn trả lời của chàng crush đến quá muộn

 
clickin 2025-01-27

Bản triển khai Date ban đầu cũng vay mượn nhiều từ Java, và việc triển khai Temporal cũng lấy khá nhiều từ Java, nên tôi thấy tự hỏi nếu đã vậy thì có nhất thiết phải mất đến từng này thời gian không.
Java 8 có LocalDateTime là từ năm 2014, nên nếu Temporal được triển khai sớm hơn dựa trên nền tảng này thì có lẽ đã không cần bị phân mảnh thành nhiều thư viện bên thứ ba khác nhau như vậy.

 
dicebattle 2025-01-26

Ơ ơ, nghe quen lắm ở đâu đó...

 
iolothebard 2025-01-25

Ngoại trừ việc đổi LocalDateTime thành PlainDateTime thì gần như y hệt Java…
Có thì cũng tốt đấy… nhưng không biết có cần phải làm tới mức này không…

 
devsepnine 2025-01-26

Trước đây, để quản lý thời gian theo nhiều múi giờ, phải dùng thư viện hoặc tự triển khai với việc cân nhắc nhiều điều kiện; nếu đi theo hướng được hỗ trợ sẵn thì sẽ tốt hơn.