Hướng dẫn dùng intl.datetimeformat JavaScript
Trong javascript, hiệp hội quốc tế ECMAScript công bố một object tên là Intl, trong đó có chứa tất cả các phương thức liên quan tới bản địa hóa (ngôn ngữ, ngày tháng, định dạng tiền tệ, vâng vâng). Cùng lướt qua API Một chuỗi chuẩn ISO cho ngày tháng const date = new Date().toISOString(); // "2020-02-05T16:30:41.392Z" Được sử dụng trong thẻ HTML Các công cụ tìm kiếm sẽ đọc các giá trị này một cách rất dễ dàng. Nhưng nếu là người bình thường chúng ta không thích như vậy, chuyển đổi qua lại giữa các định dạng theo từng khu vực là điều bắt buộc. Sử dụng API để hiển thị cho dân US-UK const options = { month: "long", day: "numeric", year: "numeric" }; const date = new Date(isoString); const americanDate = new Intl.DateTimeFormat("en-US", options).format(date); Để xem tài liệu đầy đủ, xem trên MDN Bạn sẽ thấy thằng const options = { month: "long", day: "numeric", year: "numeric" }; const longDate = new Date().toLocaleDateString(locale, options); Vậy xài cái nào?, ngắn gọn, Cũng
đáng nhắc đến,
TopDev via Vuilaptrinh Như chúng ta đã biết các quốc gia khác nhau có các quy ước khác nhau để hiển thị các giá trị. Do đó Javascript giúp ta xử lí các giá trị này dễ dàng hơn với Internationalization API. Internationalization còn được viết gọn lại thành I18N (18 kí tự giữa i và n trong từ trên). Đây là một API cung cấp nhiều tính năng giúp ta chuyển đổi định dạng giá trị phù hợp với từng quốc gia. Hôm nay mình xin giới thiệu tới các bạn một object hỗ trợ I18N là Intl. Chúng ta sẽ tìm hiểu object này trong bài viết nhé 😀 Intl.Collator()Intl.Collator cho phép so sánh các chuỗi với ngôn ngữ tùy chọn. Syntax
Parameterslocales (Optional): Đối số này giúp JS xác định ngôn ngữ mà bạn đang muốn so sánh. options (Optional): undefined: giá trị mặc định. locale: Một định danh ngôn ngữ, ví dụ: "en-US" - "English (United States)", "vi-VN" - "Vietnamese (Vietnam)",... Danh sách locale: http://www.lingoes.net/en/translator/langcode.htm list of locales: Ngoài ra Collator còn cho phép truyền một mảng các ngôn ngữ làm đối số. Cùng đến với một vài ví dụ về cách sử dụng Intl.Collator() nhé:
Ở ví dụ trên, hàm Thêm ví dụ nữa các bạn để hiểu rõ hơn:
Ở ví dụ trên mình đã truyền các giá trị vào options như: numeric, sensitivity mình sẽ giải thích các giá trị này:
🎉 Cuối cùng kết quả trả về sẽ là:
Intl.DateTimeFormat()Intl.DateTimeFormat() cho phép chúng ta định dạng ngày tháng khá dễ dàng 👏.
Parameters
Ví dụ khi sử dụng
Danh sách timezones cho bạn nào cần: http://worldtimeapi.org/timezones Intl.NumberFormat()😀 Tiếp theo chúng ta đến với phần định dạng số với Với một số website bán hàng chúng ta có thể sử dụng constructor này để định dạng tiền tệ với các đơn vị tùy ý.
options (Optional):
Một số ví dụ:
Như vậy là mình đã giới thiệu cho các bạn một số các constructor thường dùng của Intl. Hi vọng bài viết này có thể giúp bạn hiểu được phần nào về Intl trong JavaScript. Các bạn có thể đọc thêm một số bài viết về Intl: https://tc39.es/ecma402/ https://blog.logrocket.com/getting-to-know-the-intl-api-in-javascript/ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl Chúc các bạn học tốt 🔥. |