/ / Xử lý các thao tác ngày và giờ với Luxon, Thư viện ngày JavaScript hiện đại

Xử lý các thao tác ngày và giờ với Luxon, Thư viện ngày JavaScript hiện đại

laptop with javascript code on the screen

Bạn có thể sử dụng JavaScript để xây dựng các ứng dụng web động và các ứng dụng chạy trong các môi trường khác, bao gồm cả máy tính để bàn. Nhiều ứng dụng cần xử lý ngày và giờ, từ ứng dụng lên lịch và trò chuyện đến ứng dụng đặt lịch sự kiện.


Luxon cung cấp giải pháp thay thế vượt trội cho JavaScript gốc Ngày đối tượng, với nhiều cách đáng tin cậy, thân thiện với người dùng hơn để xử lý các thao tác ngày và giờ.


Cài đặt Luxon

Bạn có thể thêm Luxon vào ứng dụng JavaScript của mình theo nhiều cách, tùy thuộc vào phương pháp ưa thích của bạn. Hai phương pháp phổ biến nhất là sử dụng npm để cài đặt thư viện hoặc sử dụng liên kết CDN để đưa thư viện vào ứng dụng của bạn.

Để cài đặt Luxon trong dự án Node.js, hãy chạy lệnh npm sau trong thiết bị đầu cuối của bạn:

 npm install --save luxon

Sử dụng thư viện trong tệp JavaScript của bạn bằng cách yêu cầu luxon:

 const { DateTime } = require("luxon");

Mã này sử dụng phá hủy đối tượng để nhập Ngày giờ class từ thư viện Luxon và tạo một biến mới Ngày giờ tham chiếu đến lớp đó.

Điều này cho phép bạn tạo các phiên bản ngày và giờ và thực hiện các thao tác như định dạng ngày để hiển thị.

Ngoài ra, bạn có thể đưa Luxon vào ứng dụng của mình bằng liên kết CDN. Để thực hiện việc này, hãy thêm đánh dấu sau vào tệp HTML của bạn:

 <script src="https://cdn.jsdelivr.net/npm/luxon@3.2.1/build/global/luxon.min.js"></script>

Sử dụng phương pháp này, bạn có thể chạy tập lệnh bằng cách sử dụng Luxon trong phần thân của HTML của bạn.

Nét đặc trưng Luxon

Luxon cung cấp nhiều tính năng, làm cho nó trở thành một gói có giá trị để xử lý ngày và giờ trong các ứng dụng JavaScript.

Thao tác ngày và giờ toàn diện

Luxon cung cấp nhiều phương pháp khác nhau để tạo, thao tác và truy xuất ngày và giờ. Luxon đơn giản hóa các tác vụ như cộng hoặc trừ thời lượng, đặt các thành phần ngày/giờ cụ thể và thực hiện các phép tính thời gian tương đối.

Định dạng và bản địa hóa

Các tùy chọn định dạng của Luxon cho phép bạn hiển thị ngày và giờ ở nhiều định dạng. Luxon hỗ trợ các mẫu định dạng khác nhau và cho phép bạn đặt ngày và giờ theo các ngôn ngữ khác.

Hỗ trợ múi giờ

Với Luxon, bạn có thể làm việc hiệu quả với ngày và giờ ở các múi giờ khác nhau. Luxon cung cấp các phương thức để thiết lập và chuyển đổi giữa các múi giờ.

Thiết kế bất biến

Luxon tuân theo một mẫu thiết kế bất biến, đảm bảo rằng Ngày giờ các đối tượng là bất biến. Phương pháp thiết kế này cung cấp hành vi có thể dự đoán và nhất quán khi làm việc với ngày và giờ.

Tài liệu API mở rộng

Tài liệu API của Luxon rất chi tiết, giúp bạn dễ dàng khám phá và hiểu các phương thức, tùy chọn và chức năng có sẵn.

Lớp DateTime ở Luxon

Các Ngày giờ lớp ở Luxon đại diện cho một ngày và thời gian cụ thể. Nó cung cấp cả các phương thức lớp và cá thể cho phép bạn thực hiện các tác vụ khác nhau. Các tác vụ này bao gồm tạo, phân tích cú pháp, truy xuất, sửa đổi và định dạng ngày và giờ.

Dưới đây là một số cách khác nhau để tạo một thể hiện mới của lớp Ngày Giờ ở Luxon:

  • Các DateTime.local() phương pháp:
     const dt = DateTime.local(2023, 5, 21, 1, 22, 37, 845);

    Mã này tạo một phiên bản DateTime mới bằng cách sử dụng DateTime.local() phương pháp. Phương thức này nhận bảy đối số đại diện cho các giá trị năm, tháng, ngày, giờ, phút, giây và mili giây của ngày và giờ bạn muốn tạo.

  • Các DateTime.fromJSDate() phương pháp:
     const now = new Date();
    const dt = DateTime.fromJSDate(now);

    Mã này tạo một phiên bản Ngày JavaScript gốc mới và chuyển nó tới DateTime.fromJSDate() phương pháp. Phương thức đó trả về một đối tượng DateTime biểu thị cùng ngày và giờ.

  • Các DateTime.fromObject() phương pháp:
     const dt = DateTime.fromObject({
        year: 2023,
        month: 1,
        day: 1,
        hour: 0,
        minute:0,
        second: 0,
        millisecond: 0
    });

    Khối mã này cho biết cách tạo một phiên bản DateTime mới bằng cách sử dụng DateTime.fromObject() phương pháp. Phương thức lấy một đối tượng có các thuộc tính đại diện cho các giá trị năm, tháng, ngày, giờ, phút, giây và mili giây của ngày và giờ bạn muốn tạo.

  • Sử dụng DateTime.now() phương pháp:
     const dt = DateTime.now();

    Khối mã này cho biết cách tạo phiên bản Ngày giờ mới bằng cách sử dụng DateTime.now() phương pháp. Phương thức trả về một phiên bản DateTime mới biểu thị ngày và giờ hiện tại theo múi giờ địa phương.

Định dạng các đối tượng DateTime thành Chuỗi

Luxon đơn giản hóa định dạng của Ngày giờ đối tượng thành các chuỗi đại diện cho ngày và giờ cụ thể. Bạn có thể sử dụng Luxon để định dạng ngày và giờ theo nhiều phương pháp khác nhau.

ISO8601

Định dạng ISO 8601 được sử dụng rộng rãi để biểu thị ngày và giờ được tiêu chuẩn hóa. Để định dạng một Ngày giờ đối tượng dưới dạng chuỗi ISO 8601, hãy sử dụng toISO() phương pháp:

 const now = DateTime.local();
console.log(now.toISO());

Định dạng con người có thể đọc được

Luxon hỗ trợ các định dạng mà con người có thể đọc được mà bạn có thể tùy chỉnh cho các ngôn ngữ địa phương. Bạn có thể định dạng một Ngày giờ phản đối một chuỗi con người có thể đọc được với toLocaleString() phương pháp:

 const now = DateTime.local();
console.log(now.toLocaleString());

Định dạng dựa trên mã thông báo

Định dạng dựa trên mã thông báo cho phép bạn định dạng ngày và giờ thành các chuỗi tùy chỉnh bằng cách sử dụng trình giữ chỗ được gọi là mã thông báo. Để định dạng một Ngày giờ đối tượng sử dụng mã thông báo, hãy sử dụng toFormat() phương pháp:

 const now = DateTime.local();
console.log(now.toFormat("yyyy-MM-dd HH:mm:ss"));

Trong ví dụ trên, chuỗi định dạng yyyy-MM-dd HH:mm:ss đại diện cho định dạng đầu ra mong muốn. các mã thông báo yyyy, MM, đ, hộ, mmss ứng với năm, tháng, ngày, giờ, phút, giây của Ngày giờ đối tượng, tương ứng.

Luxon cho phép bạn thực hiện nhiều biểu diễn ngày và giờ bằng cách cung cấp một bộ mã thông báo phong phú.

Phân tích cú pháp và xác thực ngày và giờ ở Luxon

Luxon cung cấp các phương pháp mạnh mẽ để phân tích cú pháp và xác thực ngày và giờ. Các tính năng này hữu ích cho các tác vụ như xác thực đầu vào của người dùng hoặc chuyển đổi các biểu diễn chuỗi ngày và giờ thành Ngày giờ các đối tượng.

Phương thức fromFormat()

Các fromFormat() phương thức cho phép bạn phân tích một chuỗi đại diện của ngày và giờ, và chuyển đổi nó thành một Ngày giờ sự vật. Nó nhận hai đối số, chuỗi đầu vào và chuỗi định dạng chỉ định định dạng đầu vào.

Ví dụ:

 DateTime.fromFormat("May 25 2023", "LLLL dd yyyy")

Xác thực ngày và giờ bằng phương thức isValid

Các isValid phương pháp kiểm tra nếu một Ngày giờ đối tượng đại diện cho một ngày và thời gian hợp lệ. Nó trở lại ĐÚNG VẬY nếu đối tượng là hợp lệ và SAI nếu không thì.

Như vậy:

 const invalidDate = DateTime.fromObject({ year: 2022, month: 2, day: 29 });
console.log(invalidDate.isValid);

const validDate = DateTime.fromObject({ year: 2022, month: 2, day: 28 });
console.log(validDate.isValid);

Trong ví dụ, đầu tiên Ngày giờ đối tượng đại diện cho một ngày không hợp lệ vì ngày 29 tháng 2 năm 2022 không hợp lệ. Thư hai Ngày giờ đối tượng đại diện cho một ngày hợp lệ là ngày 28 tháng 2 năm 2022.

Các tính năng xác thực và phân tích cú pháp trong Luxon giúp bạn xử lý chính xác ngày và giờ, xác thực đầu vào và cung cấp các biểu diễn dữ liệu ngày và giờ đáng tin cậy.

Lựa chọn thay thế cho Luxon

Bạn đã học cách tạo, định dạng và xác thực các phiên bản ngày và giờ với Luxon. Những mẹo này sẽ hỗ trợ bạn khi xây dựng các ứng dụng web yêu cầu xử lý ngày và giờ.

Bạn cũng có thể sử dụng các gói JavaScript khác để xử lý ngày và giờ trong các ứng dụng web của mình, bao gồm Day.js và Date.fns. Các gói này có ưu điểm và nhược điểm riêng, và bạn nên dựa trên sở thích của mình dựa trên nhu cầu cụ thể của mình.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *