Trừ năm javascript
Khoảng khăc. js đã được sử dụng thành công trong hàng triệu dự án và chúng tôi rất vui vì đã góp phần làm cho ngày và giờ tốt hơn trên web. Tính đến tháng 9 năm 2020, Moment nhận được hơn 12 triệu lượt tải xuống mỗi tuần. Tuy nhiên, Moment được xây dựng cho kỷ nguyên trước của hệ sinh thái JavaScript. Web hiện đại ngày nay trông khác nhiều. Moment đã phát triển phần nào trong những năm qua, nhưng về cơ bản nó vẫn giữ nguyên thiết kế như khi nó được tạo ra vào năm 2011. Dựa vào số lượng dự án phụ thuộc vào nó, chúng tôi chọn ưu tiên tính ổn định hơn các tính năng mới Show
Ví dụ, xem xét rằng các đối tượng Khoảnh khắc có thể thay đổi. Đây là một nguồn khiếu nại phổ biến về Moment. Chúng tôi giải quyết vấn đề này trong hướng dẫn sử dụng nhưng nó vẫn gây ngạc nhiên cho hầu hết người dùng mới. Thay đổi Khoảnh khắc thành bất biến sẽ là một thay đổi đột phá đối với mọi dự án sử dụng nó. Tạo một "Moment v3" không thay đổi sẽ là một công việc to lớn và sẽ biến Moment thành một thư viện hoàn toàn khác. Vì điều này đã được thực hiện trong các thư viện khác, chúng tôi cảm thấy rằng điều quan trọng hơn là giữ lại API có thể thay đổi Một lập luận phổ biến khác chống lại việc sử dụng Moment trong các ứng dụng hiện đại là kích thước của nó. Khoảnh khắc không hoạt động tốt với các thuật toán "rung cây" hiện đại, do đó, nó có xu hướng tăng kích thước của gói ứng dụng web. Nếu một người cần hỗ trợ quốc tế hóa hoặc múi giờ, Moment có thể khá lớn. Các trình duyệt web hiện đại (và Node. js) hiển thị hỗ trợ quốc tế hóa và múi giờ thông qua đối tượng 68, được mã hóa thành ECMA-402. Các thư viện như Luxon (và các thư viện khác) tận dụng lợi thế này, giảm hoặc loại bỏ nhu cầu gửi các tệp dữ liệu của riêng bạnGần đây, Chrome Dev Tools đã bắt đầu hiển thị các đề xuất để thay thế Khoảnh khắc cho riêng kích thước. Chúng tôi thường ủng hộ động thái này Bạn cũng có thể muốn đọc
Nhóm Moment đã thảo luận về những vấn đề này rất lâu. Chúng tôi nhận thấy rằng nhiều dự án hiện tại có thể tiếp tục sử dụng Moment, nhưng chúng tôi không muốn Moment được sử dụng trong các dự án mới trong tương lai. Thay vào đó, chúng tôi muốn giới thiệu các giải pháp thay thế là những lựa chọn tuyệt vời để sử dụng trong các ứng dụng hiện đại ngày nay. Chúng tôi cũng muốn quảng cáo bổ sung 69 cho ngôn ngữ JavaScript đang tìm kiếm phản hồi và cộng tác viênHiện tại, chúng tôi thường coi Khoảnh khắc là một dự án kế thừa ở chế độ bảo trì. Nó không chết, nhưng nó thực sự được thực hiện Trong thực tế, điều này có nghĩa là
Liên quan cụ thể đến các tệp ngôn ngữ quốc tế hóa của Moment
Tuy nhiên, vì chúng tôi hiểu rằng Khoảnh khắc đã được thiết lập tốt trong hàng triệu dự án hiện có
Lý do để tiếp tục sử dụng MomentTrong hầu hết các trường hợp, bạn không nên chọn Moment cho các dự án mới. Tuy nhiên, có một số lý do có thể khiến bạn muốn tiếp tục sử dụng nó hỗ trợ trình duyệtKhoảnh khắc hoạt động tốt trên Internet Explorer 8 trở lên. Ngược lại, Luxon chỉ hoạt động trên IE 10 trở lên và yêu cầu một polyfill để làm như vậy. Bạn có thể đọc thêm trong tài liệu của Luxon Các thư viện khác cũng gặp sự cố với Safari, đặc biệt là trên thiết bị di động. Nếu bạn có yêu cầu mạnh mẽ để hỗ trợ các trình duyệt cũ hơn, thì bạn có thể muốn gắn bó với Moment lâu hơn một chút Tuy nhiên, ngày. js báo cáo khả năng tương thích với IE8 trở lên, do đó bạn vẫn có thể muốn xem xét giải pháp thay thế đó Sự phụ thuộc của các thư viện khácMột số thư viện khác, đặc biệt là bộ chọn ngày và thư viện vẽ đồ thị, lấy Khoảnh khắc làm phụ thuộc. Nếu bạn đang sử dụng một thành phần như vậy và không thể tìm thấy một thành phần thay thế, thì bạn đã bao gồm Khoảnh khắc trong dự án của mình. Do đó, có thể hợp lý khi tiếp tục sử dụng Khoảnh khắc trong suốt dự án của bạn thay vì bao gồm một thư viện ngày và giờ khác quen thuộcNếu bạn là người dùng Moment lâu năm, bạn có thể đã hiểu rõ về API và các hạn chế của nó. Nếu đúng như vậy và các vấn đề nêu trên không phải là mối bận tâm của bạn, thì bạn chắc chắn có thể tiếp tục sử dụng nó khuyến nghịchỉnh sửaCó một số tùy chọn tuyệt vời để xem xét sử dụng thay vì Khoảnh khắc Khi lựa chọn, hãy xem xét rằng
Dưới đây là các lựa chọn thay thế chúng tôi đề xuất LuxonLuxon có thể được coi là sự phát triển của Moment. Nó được tác giả bởi Isaac Cambron, một cộng tác viên lâu năm của Moment. Vui lòng đọc Tại sao Luxon tồn tại?
Ngày. jsNgày. js được thiết kế để thay thế tối giản cho Moment. js, sử dụng API tương tự. Đây không phải là sự thay thế tùy chọn, nhưng nếu bạn đã quen sử dụng API của Moment và muốn di chuyển nhanh chóng, hãy cân nhắc sử dụng Day. js
ngày-fnsDate-fns cung cấp một loạt các chức năng để thao tác với các đối tượng JavaScript 74. Để biết thêm chi tiết, hãy cuộn đến "Tại sao lại là date-fns?"
js-Jodajs-Joda là một cổng JavaScript của Three-Ten Backport của Java, là cơ sở để triển khai JSR-310 của gói Java SE 8 76. Nếu bạn đã quen thuộc với 76, Joda-Time hoặc Noda Time, bạn sẽ thấy js-Joda có thể so sánh được
Không có thư việnJavaScript luôn có đối tượng 74, đặc tả ECMAScript (ECMA-262) được xác định tại đâyKhi sử dụng các đối tượng 74, hãy lưu ý những điều sau
Các môi trường JavaScript hiện đại cũng sẽ triển khai đặc tả by ECMA-402, cung cấp đối tượng 68 và xác định các tùy chọn hành vi của các hàm 88, 89 và 90 của đối tượng 74Khi sử dụng đối tượng 68, hãy lưu ý những điều sau
Nếu các đối tượng 74 và 68 đáp ứng nhu cầu của bạn và bạn hoàn toàn hiểu những hạn chế của chúng, thì bạn có thể cân nhắc sử dụng chúng trực tiếpTương laichỉnh sửaTạm thời - Ngày và giờ tốt hơn bằng ngôn ngữ JavaScriptMột ngày không xa, chúng tôi hy vọng sẽ không còn nhu cầu lớn về thư viện ngày và giờ trong JavaScript nữa. Thay vào đó, chúng tôi sẽ có thể sử dụng các khả năng của chính ngôn ngữ JavaScript. Mặc dù một số chức năng hiện có ở đây với 74 và 68, nhưng từ kinh nghiệm và dữ liệu, chúng tôi biết rằng vẫn còn nhiều chỗ cần cải thiệnNỗ lực tạo API ngày và giờ tốt hơn bằng ngôn ngữ JavaScript đang được thực hiện thông qua Đề xuất tạm thời ECMA TC39. Nó hiện đang ở Giai đoạn 3 của quy trình TC39 69 sẽ là một đối tượng toàn cầu mới hoạt động như một không gian tên cấp cao nhất (như 604). Nó hiển thị nhiều loại đối tượng riêng biệt bao gồm 605, 606, 607, 608, 609, 610 và một số đối tượng khác. Sách dạy nấu ăn tạm thời hiển thị nhiều "công thức nấu ăn" với các ví dụ về cách sử dụng các đồ vật này trong các tình huống khác nhauBạn có thể dùng thử Temporal ngay hôm nay, thông qua một polyfill phi sản xuất. Vui lòng dùng thử, nhưng đừng sử dụng nó trong sản xuất (chưa) Vui lòng cung cấp phản hồi và cân nhắc đóng góp cho nỗ lực này - đặc biệt nếu bạn có kinh nghiệm sử dụng Khoảnh khắc hoặc các thư viện ngày và giờ khác Yêu cầu. jschỉnh sửaChúng tôi thực sự khuyên bạn nên đọc phần này nếu bạn định sử dụng khoảnh khắc với Yêu cầu. js. Cũng nâng cấp lên 2. 14. 0 trở lên để có trải nghiệm tốt nhất Khi bắt đầu, bạn có thể có được khoảnh khắc thông qua bower hoặc node_modules hoặc bất kỳ thứ gì khác đặt khoảnh khắc. js cùng với thư mục ngôn ngữ trong thư mục cơ sở. Sau đó, bạn nên sử dụng công cụ như Adapt-pkg-main hoặc thủ công -- sử dụng cấu hình gói 3Với thiết lập ở trên, bạn có thể yêu cầu lõi có ngôn ngữ 611 và 612 với 613
Đối với các trường hợp sử dụng phức tạp hơn, vui lòng đọc phần giải thích tuyệt vời của @jrburke Khoảnh khắc vẫn sẽ tạo một 611 toàn cầu, hữu ích cho các plugin và mã của bên thứ ba khác. Nếu bạn muốn xóa toàn cầu đó, hãy sử dụng tùy chọn 615 trên cấu hình mô-đun 6Nếu bạn không chỉ định 615 thì thời điểm được xuất trên toàn cầu sẽ in cảnh báo không dùng nữa. Từ bản phát hành chính tiếp theo, bạn sẽ phải tự xuất nó nếu muốn hành vi đóĐối với phiên bản 2. 5. x, trong trường hợp bạn sử dụng các plugin khác dựa trên Moment nhưng không tương thích với AMD, bạn có thể cần thêm 617 vào r của mình. cấu hình jsGhi chú. Để cho phép khoảnh khắc. js sẽ được tải trong môi trường requestjs, thời điểm được tạo dưới dạng mô-đun có tên. Do đó, thời điểm phải được tải chính xác như 618, sử dụng 619 để xác định thư mục. Thời điểm yêu cầu có đường dẫn như 620 sẽ trả về 621Ghi chú. Từ phiên bản 2. 9. 0 tự xuất dưới dạng mô-đun ẩn danh, vì vậy nếu bạn chỉ sử dụng lõi (không có ngôn ngữ / plugin), thì bạn không cần cấu hình nếu đặt nó ở vị trí không chuẩn Chuỗi 1. 0. 0+chỉnh sửa 7Khi tạo một khoảnh khắc từ một chuỗi, trước tiên, chúng tôi kiểm tra xem chuỗi đó có khớp với các định dạng ISO 8601 đã biết hay không, sau đó chúng tôi kiểm tra xem chuỗi đó có khớp với định dạng ngày giờ RFC 2822 hay không trước khi chuyển xuống 622 nếu không tìm thấy định dạng đã biết 9Cảnh báo. Hỗ trợ trình duyệt để phân tích chuỗi không nhất quán. Do không có thông số kỹ thuật về định dạng nào sẽ được hỗ trợ nên những gì hoạt động trong một số trình duyệt sẽ không hoạt động trong các trình duyệt khác Để có kết quả nhất quán khi phân tích cú pháp bất kỳ thứ gì ngoài chuỗi ISO 8601, bạn nên sử dụng Chuỗi + Định dạng Chuỗi ISO 8601 được hỗ trợMột chuỗi ISO 8601 yêu cầu một phần ngày 0Phần thời gian cũng có thể được bao gồm, được phân tách với phần ngày bằng dấu cách hoặc chữ T viết hoa 1Bất kỳ phần ngày nào cũng có thể có phần thời gian 2Nếu bao gồm một phần thời gian, thì phần bù từ UTC cũng có thể được bao gồm như 623, 624, 625 hoặc 626 7Ghi chú. Hỗ trợ cho các định dạng tuần và thứ tự đã được thêm vào trong phiên bản 2. 3. 0 Nếu một chuỗi không khớp với bất kỳ định dạng nào ở trên và không thể phân tích cú pháp bằng 82, thì 628 sẽ trả về false 0Định dạng ngày giờ RFC 2822Trước khi phân tích cú pháp ngày giờ RFC 2822, chuỗi được xóa để xóa mọi nhận xét và/hoặc ký tự dòng mới. Các ký tự bổ sung có định dạng hợp pháp nhưng không bổ sung gì để tạo một phiên bản thời điểm hợp lệ Sau khi làm sạch, chuỗi được xác thực trong các phần được phân tách bằng dấu cách sau đây, tất cả đều sử dụng ngôn ngữ tiếng Anh 0
[*]Xem phần 4. 3 của đặc điểm kỹ thuật để biết chi tiết Trình phân tích cú pháp cũng xác nhận rằng ngày trong tuần (khi được đưa vào) nhất quán với ngày Chuỗi + Định dạng 1. 0. 0+chỉnh sửa 1Nếu bạn biết định dạng của chuỗi đầu vào, bạn có thể sử dụng định dạng đó để phân tích một khoảnh khắc 2Theo mặc định, trình phân tích cú pháp bỏ qua các ký tự không phải chữ và số, vì vậy cả hai ký tự sau đây sẽ trả về cùng một thứ 3Bạn có thể nhận được kết quả không mong muốn khi phân tích cả ngày và giờ. Ví dụ dưới đây có thể không phân tích cú pháp như bạn mong đợi 4Bạn có thể sử dụng chế độ nghiêm ngặt, chế độ này sẽ xác định lỗi phân tích cú pháp và đặt đối tượng Khoảnh khắc là không hợp lệ 5Mã thông báo phân tích cú pháp tương tự như mã thông báo định dạng được sử dụng trong 629Mã thông báo năm, tháng và ngàyMã thông báo phân biệt chữ hoa chữ thường Đầu vàoVí dụMô tả____3630 6314 hoặc năm có 2 chữ số. Ghi chú. Chỉ có 4 chữ số có thể được phân tích cú pháp trên chế độ 632 633 6342 chữ số năm 635 636Năm với bất kỳ số chữ số và ký hiệu nào 637 638Quý của năm. Đặt tháng thành tháng đầu tiên trong quý. 639 640Số tháng 641 642Tên tháng theo ngôn ngữ được đặt bởi 643 644 645Ngày trong tháng 646 647Ngày trong tháng với thứ tự 648 649Ngày trong năm 650 651Dấu thời gian Unix 652 653Dấu thời gian ms Unix 630 từ phiên bản 2. 10. 5 hỗ trợ năm có 2 chữ số và chuyển đổi chúng thành năm gần 2000 (giống như 633) 635 đã được thêm vào 2. 11. 1. Nó sẽ khớp với bất kỳ số nào, đã ký hoặc chưa ký. Nó hữu ích cho những năm không có 4 chữ số hoặc trước kỷ nguyên chung. Nó có thể được sử dụng cho bất kỳ năm nàoMã thông báo tuần năm, tuần và ngày trong tuầnĐối với những điều này, mã thông báo chữ thường sử dụng ngày bắt đầu tuần nhận biết ngôn ngữ và mã thông báo chữ hoa sử dụng ngày bắt đầu ngày của tuần ISO Mã thông báo phân biệt chữ hoa chữ thường InputExampleDescription 657 631Locale 4 digit week year 659 634Locale 2 digit week year 661 662Locale week of year 663 664Locale day of week 665 666Day name in locale set by 643 668 631ISO 4 digit week year 670 634ISO 2 digit week year 672 662ISO week of year 674 675ISO day of weekCác định dạng nhận biết ngôn ngữCác định dạng ngày và giờ nhận biết ngôn ngữ cũng có sẵn bằng cách sử dụng 676. Chúng đã được thêm vào trong phiên bản 2. 2. 1, ngoại trừ 677 đã được thêm vào 2. 8. 4Mã thông báo phân biệt chữ hoa chữ thường Đầu vàoVí dụMô tả 678 679Ngày (ở định dạng cục bộ) 680 681Tên tháng, ngày trong tháng, năm 682 683Tên tháng, ngày trong tháng, năm, thời gian 684 685Ngày trong tuần, tên tháng, ngày trong tháng, năm, thời gian 686 687Thời gian (không có giây) 677 689Thời gian (có giây)Mã thông báo giờ, phút, giây, mili giây và độ lệchMã thông báo phân biệt chữ hoa chữ thường Đầu vàoVí dụMô tả 690 691Giờ (thời gian 24 giờ) 692 640Giờ (thời gian 12 giờ được sử dụng với 694. ) 695 696Giờ (thời gian 24 giờ từ 1 đến 24) 694 698Sau kinh tuyến hoặc ante meridiem (Lưu ý một ký tự 699 cũng được coi là hợp lệ) 700 701Phút 702 701Giây 704 705Giai đoạn phân số 706 707Phút_______5702____5701Giây 704 705Giây phân số 706 707 36 Bù lại từ UTC36 UTC36Từ phiên bản 2. 10. 5. mã thông báo thứ hai phân số có độ dài từ 4 đến 9 có thể phân tích cú pháp bất kỳ số lượng chữ số nào, nhưng sẽ chỉ xem xét 3 chữ số hàng đầu (mili giây). Sử dụng nếu bạn có thời gian được in với nhiều chữ số phân số và muốn sử dụng đầu vào Lưu ý rằng số lượng ký tự 711 được cung cấp chỉ liên quan khi phân tích cú pháp ở chế độ nghiêm ngặt. Ở chế độ tiêu chuẩn, 711, 713, 714, 715 đều tương đương và được hiểu là phân số của giây. Ví dụ: 716 luôn là 120 mili giây, việc vượt qua 713 sẽ không khiến nó được hiểu là 12 mili giây 706 đã được thêm vào trong phiên bản 1. 2. 0 719 đã được thêm vào trong phiên bản 1. 6. 0 650 đã được thêm vào trong phiên bản 2. 0. 0 721 đã được thêm vào trong phiên bản 2. 10. 5 695 đã được thêm vào trong phiên bản 2. 13. 0Trừ khi bạn chỉ định chênh lệch múi giờ, việc phân tích cú pháp một chuỗi sẽ tạo ra một ngày theo múi giờ hiện tại 6Mã thông báo liên quan đến Năm kỷ nguyênMã thông báo phân biệt chữ hoa chữ thường Đầu vàoVí dụMô tả. yyyy 723Yearsyo 724Năm thứ tựN 725Tên thời đại AbbrNN 725Tên thời đại AbbrNNN 725Tên thời đại AbbrNNNN 728Tên thời đại đầy đủNNNNNN 725Tên thời đại hẹpHỗ trợ kỷ nguyên đã được thêm vào trong 2. 25. 0. Mã thông báo/API vẫn đang thay đổi Ghi chú và gotchasNếu thời điểm kết quả từ đầu vào được phân tích cú pháp không tồn tại, 628 sẽ trả về false 7Kể từ phiên bản 2. 0. 0, khóa ngôn ngữ có thể được chuyển làm tham số thứ ba cho 731 và 732 8Trình phân tích cú pháp của Moment rất dễ tha thứ và điều này có thể dẫn đến hành vi không mong muốn/không mong muốn Ví dụ, hành vi sau đây có thể được quan sát 9Trước 2. 13. 0 trình phân tích cú pháp thể hiện hành vi sau. Điều này đã được sửa chữa 60Kể từ phiên bản 2. 3. 0, bạn có thể chỉ định một boolean cho đối số cuối cùng để khiến Moment sử dụng phân tích cú pháp nghiêm ngặt. Phân tích cú pháp nghiêm ngặt yêu cầu định dạng và đầu vào khớp chính xác, bao gồm cả dấu phân cách 61Bạn có thể sử dụng cả ngôn ngữ và độ nghiêm ngặt 62Phân tích cú pháp nghiêm ngặt thường là tùy chọn phân tích cú pháp tốt nhất. Để biết thêm thông tin về cách chọn phân tích cú pháp nghiêm ngặt và tha thứ, hãy xem hướng dẫn phân tích cú pháp Phân tích cú pháp hai chữ số nămTheo mặc định, năm có hai chữ số trên 68 được coi là vào những năm 1900 và những năm từ 68 trở xuống được coi là vào những năm 2000. Điều này có thể được thay đổi bằng cách thay thế phương thức 733. Đối số duy nhất của phương thức này là một chuỗi chứa hai năm do người dùng nhập vào và sẽ trả về năm dưới dạng số nguyên 63Phân tích cú pháp giờ và phút được dánTừ phiên bản 2. 11. 0 phân tích cú pháp 734, 735, 736 và 737 được hỗ trợ 64Chuỗi + Định dạng 1. 0. 0+chỉnh sửa 65Nếu bạn không biết định dạng chính xác của chuỗi đầu vào, nhưng biết nó có thể là một trong nhiều chuỗi, bạn có thể sử dụng một mảng định dạng Điều này giống như Chuỗi + Định dạng, chỉ khác là nó sẽ cố khớp đầu vào với nhiều định dạng 66Bắt đầu từ phiên bản 2. 3. 0, Moment sử dụng một số phỏng đoán đơn giản để xác định định dạng nào sẽ sử dụng. theo thứ tự
67Bạn cũng có thể chỉ định một đối số miền địa phương và nghiêm ngặt. Chúng hoạt động giống như trường hợp định dạng duy nhất 68Ghi chú. Phân tích cú pháp nhiều định dạng chậm hơn đáng kể so với phân tích cú pháp một định dạng. Nếu bạn có thể tránh nó, việc phân tích cú pháp một định dạng sẽ nhanh hơn nhiều Mảng 1. 0. 0+chỉnh sửa 69Bạn có thể tạo một khoảnh khắc với một dãy số phản ánh các tham số được truyền cho new Date() 738 70Bất kỳ giá trị nào trong năm qua là tùy chọn và sẽ mặc định là số thấp nhất có thể 71Xây dựng với một mảng sẽ tạo ra một ngày trong múi giờ hiện tại. Để tạo một ngày từ một mảng tại UTC, hãy sử dụng 739 72Ghi chú. Bởi vì điều này phản ánh các tham số gốc 74, tháng, giờ, phút, giây và mili giây đều được lập chỉ mục bằng 0. Năm và ngày trong tháng được lập chỉ mục 1Đây thường là nguyên nhân gây ra sự thất vọng, đặc biệt là với các tháng, vì vậy hãy lưu ý Nếu ngày được đại diện bởi mảng không tồn tại, 628 sẽ trả về false 73UTC 1. 5. 0+chỉnh sửa 74Theo mặc định, thời điểm phân tích cú pháp và hiển thị theo giờ địa phương Nếu bạn muốn phân tích cú pháp hoặc hiển thị một thời điểm theo giờ UTC, bạn có thể sử dụng 732 thay vì 731Điều này đưa chúng ta đến một tính năng thú vị của Moment. js. chế độ UTC Khi ở chế độ UTC, tất cả các phương thức hiển thị sẽ hiển thị theo giờ UTC thay vì giờ địa phương 75Ngoài ra, khi ở chế độ UTC, tất cả các getter và setter sẽ sử dụng nội bộ các phương thức 744 và 745 thay vì các phương thức 746 và 747 76Điều quan trọng cần lưu ý là mặc dù các màn hình khác nhau ở trên, nhưng cả hai đều có cùng thời điểm 77Bất kỳ thời điểm nào được tạo bằng 732 sẽ ở chế độ UTC và bất kỳ thời điểm nào được tạo bằng 731 sẽ khôngĐể chuyển từ UTC sang giờ địa phương, bạn có thể sử dụng moment#utc hoặc moment#local 78parseZone 2. 3. 0+chỉnh sửa 79Các chức năng phân tích chuỗi của Moment như 750 và 751 chấp nhận thông tin offset nếu được cung cấp, nhưng chuyển đổi đối tượng Moment kết quả thành thời gian cục bộ hoặc UTC. Ngược lại, 752 phân tích cú pháp chuỗi nhưng giữ đối tượng Khoảnh khắc kết quả trong múi giờ có độ lệch cố định với độ lệch được cung cấp trong chuỗi 90Nó cũng cho phép bạn chuyển các đối số ngôn ngữ và độ nghiêm ngặt 91 753 tương đương với việc phân tích cú pháp chuỗi và sử dụng 754 để phân tích vùng 92Xác thực 1. 7. 0+chỉnh sửa 93Moment áp dụng các quy tắc khởi tạo chặt chẽ hơn hàm tạo 74 94Bạn có thể kiểm tra xem Khoảnh khắc có coi ngày không hợp lệ hay không bằng cách sử dụng 628. Bạn có thể kiểm tra các số liệu được sử dụng bởi 757 bằng cách sử dụng 758, trả về một đối tượngCác cờ phân tích cú pháp sau dẫn đến một ngày không hợp lệ
Ngoài những điều trên, kể từ ngày 2. 13. 0, các cờ meridiem và parsedDateParts hoạt động cùng nhau để xác định tính hợp lệ của ngày
Ngoài ra, nếu Khoảnh khắc được phân tích cú pháp ở chế độ nghiêm ngặt, các cờ này phải trống để Khoảnh khắc hợp lệ
Ghi chú. Khái niệm về giá trị của Moment trở nên chặt chẽ và nhất quán hơn giữa 2. 2 và 2. 3. Ghi chú. Hiệu lực được xác định khi tạo thời điểm. Một khoảnh khắc sửa đổi (tôi. e. 778) sẽ vẫn có hiệu lựcNgoài ra, bạn có thể sử dụng 779 để xác định đơn vị ngày nào bị tràn 95Giá trị trả về có ý nghĩa như sau
Ghi chú. Trong trường hợp có nhiều đơn vị sai, đơn vị đầu tiên được trả lại (ví dụ: vì hiệu lực của ngày có thể phụ thuộc vào tháng) Khoảnh khắc không hợp lệNếu một khoảnh khắc không hợp lệ, nó sẽ hoạt động giống như một NaN trong các phép toán dấu phẩy động Tất cả những điều sau đây tạo ra những khoảnh khắc không hợp lệ
Sau đây tạo ra một phiên bản địa phương hóa của 792
Sự trở lại sau 903
Và những thứ này trả về 768 hoặc 922 với một số cấu trúc
Thêm 1. 0. 0+chỉnh sửa 96Thay đổi khoảnh khắc ban đầu bằng cách thêm thời gian Đây là một chức năng khá mạnh mẽ để thêm thời gian vào một thời điểm hiện tại. Để thêm thời gian, hãy nhập khóa thời gian bạn muốn thêm và số lượng bạn muốn thêm 97Cũng có một số phím tốc ký nếu bạn thích toàn bộ thứ ngắn gọn đó 98Chìa khóaViết tắtnămsyquýQthángMtuầnswdaysdhourshminutesmsecondssmillisecondsmsNếu bạn muốn thêm nhiều khóa khác nhau cùng một lúc, bạn có thể chuyển chúng vào dưới dạng đối tượng bằng chữ 99Không có giới hạn trên cho số tiền, vì vậy bạn có thể quá tải bất kỳ tham số nào 00Cân nhắc đặc biệt cho các tháng và nămNếu ngày trong tháng của ngày ban đầu lớn hơn số ngày trong tháng cuối cùng, thì ngày trong tháng sẽ thay đổi thành ngày cuối cùng trong tháng cuối cùng 01Ngoài ra còn có những cân nhắc đặc biệt cần lưu ý khi thêm thời gian vượt qua thời gian tiết kiệm ánh sáng ban ngày. Nếu bạn thêm năm, tháng, tuần hoặc ngày, thì giờ ban đầu sẽ luôn khớp với giờ đã thêm Thêm một tháng sẽ thêm số tháng đã chỉ định vào ngày 02 03Nếu bạn đang thêm giờ, phút, giây hoặc mili giây, giả định là bạn muốn độ chính xác của giờ và sẽ dẫn đến một giờ khác 04Ngoài ra, bạn có thể sử dụng thời lượng để thêm vào khoảnh khắc 05Trước phiên bản 2. 8. 0, cú pháp 932 cũng được hỗ trợ. Nó không được dùng nữa để ủng hộ 933 06kể từ 2. 12. 0 khi các giá trị thập phân được chuyển cho ngày và tháng, chúng được làm tròn thành số nguyên gần nhất. Tuần, quý và năm được chuyển đổi thành ngày hoặc tháng, sau đó được làm tròn thành số nguyên gần nhất 07Thời gian bắt đầu 1. 7. 0+chỉnh sửa 08Thay đổi khoảnh khắc ban đầu bằng cách đặt nó ở đầu một đơn vị thời gian 09Các phím tắt này về cơ bản giống như sau 10 11Kể từ phiên bản 2. 0. 0, 934 đã thay thế 935Ghi chú. 936 đã được thêm vào trong phiên bản 2. 0. 0Kể từ phiên bản 2. 1. 0, 936 sử dụng ngày bắt đầu tuần nhận biết ngôn ngữGhi chú. 938 đã được thêm vào trong phiên bản 2. 2. 0Ghi chú. 939 đã được thêm làm bí danh cho ngày thứ 2. 13. 0Bù UTC 2. 9. 0++chỉnh sửa 12Nhận hoặc đặt phần bù UTC sau vài phút Ghi chú. Không giống như 940, hàm này trả về phần bù thực từ UTC, không phải phần bù ngược (như được trả về bởi 941)Lấy 942 của đối tượng hiện tại 13Đặt phần bù UTC bằng cách cung cấp số phút. Phần bù được đặt trên đối tượng thời điểm mà 943 được gọi trên. Nếu bạn muốn đặt phần bù trên toàn cầu, hãy thử sử dụng múi giờ. Lưu ý rằng khi bạn đặt giá trị bù, giá trị đó sẽ cố định và sẽ không tự thay đổi (i. e không có quy tắc DST). Nếu bạn muốn múi giờ thực tế -- thời gian ở một địa điểm cụ thể, chẳng hạn như 944, hãy xem xét múi giờ-thời điểm 14Nếu đầu vào nhỏ hơn 945 và lớn hơn 946, thay vào đó, nó sẽ hiểu thông tin đầu vào của bạn là giờ 15Cũng có thể đặt độ lệch UTC từ một chuỗi 16 754 sẽ tìm kiếm chuỗi cho trận đấu cuối cùng của 948, do đó, bạn thậm chí có thể chuyển một chuỗi được định dạng ISO8601 với độ lệch và thời điểm sẽ được thay đổi thành độ lệch UTC đóLưu ý rằng nếu chuỗi không bao gồm 'Z', nó phải bao gồm ký tự 949 hoặc 950 17Hàm 942 có tham số thứ hai tùy chọn chấp nhận giá trị boolean cho biết có giữ thời gian hiện có trong ngày hay không
Một cách sử dụng tính năng này là nếu bạn muốn xây dựng một khoảnh khắc với độ lệch múi giờ cụ thể chỉ bằng các giá trị đầu vào số 18Định dạng 1. 0. 0+chỉnh sửa 19Đây là tùy chọn hiển thị mạnh mẽ nhất. Nó nhận một chuỗi mã thông báo và thay thế chúng bằng các giá trị tương ứng ____620TokenOutputMonthM1 2. 11 12Mùng 1 Mùng 2. ngày 11 ngày 12MM01 02. 11 12MMMJan Feb. Tháng 11 Tháng 12MMMMTháng 1 Tháng 2. Tháng 11 Tháng 12 Quý 1 Quý 2 3 Quý 4 Quý 2 Ngày 3 Ngày 4 Tháng 1 2. 30 31Do1thứ 2. 30 ngày 31DD01 02. 30 31 Ngày trong năm DD1 2. 364 365DDDo 1st 2nd. 364th 365thDDDD001 002. 364 365 Ngày trong tuần 0 1. 5 6do0th 1. 5th 6ddSu Mo. Cha SadddChủ Nhật. Thứ Sáu SatddddChủ Nhật Thứ Hai. Thứ sáu Thứ bảy Ngày trong tuần (Ngôn ngữ)e0 1. 5 6Ngày trong tuần (ISO)E1 2. 6 7Tuần trong nămw1 2. 52 53wo1thứ 2. thứ 52 thứ 53ww01 02. 52 53Tuần trong năm (ISO)W1 2. 52 53Wo1st 2nd. Thứ 52 Thứ 53WW01 02. 52 53NămYY70 71. 29 30YYYY1970 1971. 2029 2030YYYYYY-001970 -001971. +001907 +001971Lưu ý. Năm mở rộng (Bao gồm phạm vi giá trị toàn thời gian xấp xỉ 273.790 năm tiến hoặc lùi kể từ ngày 01 tháng 01 năm 1970)Y1970 1971. 9999 +10000 +10001 Lưu ý. Điều này tuân thủ tiêu chuẩn ISO 8601 cho các ngày sau năm 9999Era Yeary1 2. 2020. Kỷ nguyên, NN, NNNBC AD Lưu ý. Tên thời đại AbbrNNNN Before Christ, Anno Domini Ghi chú. Tên thời đại đầy đủNNNNNNBC AD Ghi chú. Tên thời đại thu hẹpTuần Nămgg70 71. 29 30gggg1970 1971. 2029 2030Tuần Năm (ISO)GG70 71. 29 30GGGG1970 1971. 2029 2030AM/PMAAM PMMaam pmHourH0 1. 22 23HH00 01. 22 23h1 2. 11 12hh01 02. 11 12k1 2. 23 24kk01 02. 23 24Phút0 1. 58 59mm00 01. 58 59Giây0 1. 58 59ss00 01. 58 59Phân Số GiâyS0 1. 8 9SS00 01. 98 99SSS000 001. 998 999SSSS. SSSSSSSSS000[0. ] 001[0. ]. 998[0. ] 999[0. ] Múi giờ hoặc xe zEST. MST PST Lưu ý. kể từ 1. 6. 0, mã thông báo định dạng z/zz không được dùng nữa từ các đối tượng thời điểm đơn giản. Đọc thêm về nó ở đây. Tuy nhiên, chúng *làm* hoạt động nếu bạn đang sử dụng một múi giờ cụ thể với addon múi giờ-thời điểm. Z-07. 00 -06. 00. +06. 00 +07. 00ZZ-0700 -0600. +0600 +0700Unix TimestampX1360013296Unix Millisecond Timestampx1360013296123 650 đã được thêm vào 2. 0. 0 955 đã được thêm vào 2. 1. 0 652 đã được thêm vào 2. 8. 4 715 đến 958 đã được thêm vào 2. 10. 5. Chúng hiển thị 3 chữ số có nghĩa và phần còn lại chứa đầy số không 959 và 960 đã được thêm vào 2. 13. 0Định dạng bản địa hóaVì định dạng ưa thích khác nhau dựa trên ngôn ngữ, nên có một số mã thông báo có thể được sử dụng để định dạng một khoảnh khắc dựa trên ngôn ngữ của nó Có các biến thể chữ hoa và chữ thường trên cùng một định dạng. Phiên bản chữ thường được dự định là phiên bản rút gọn của đối tác chữ hoa của nó Thời gianLT8. 30 PM Thời gian tính bằng giây LTR8. 30. 25 giờ chiềuSố tháng, ngày tháng, nămL09/04/1986l9/4/1986Tên tháng, ngày tháng, nămLL 4/9/1986ll4/9/1986Tên tháng, ngày tháng, năm, giờLL 4/9/1986 8. 30 PMlllNgày 4 tháng 9 năm 1986 8. 30 giờ chiềuTên tháng, ngày trong tháng, ngày trong tuần, năm, giờLLLLThứ năm, ngày 4 tháng 9 năm 1986 8. 30 PMllllThu, ngày 4 tháng 9 năm 1986 8. 30 giờ tối 961 có sẵn trong 2. 0. 0. 677 đã được thêm vào 2. 8. 4Nhân vật trốn thoátĐể thoát các ký tự trong chuỗi định dạng, bạn có thể đặt các ký tự trong dấu ngoặc vuông 21Điểm tương đồng và khác biệt với LDLMLGhi chú. Mặc dù các định dạng ngày này rất giống với định dạng ngày của LDML, nhưng có một số khác biệt nhỏ liên quan đến ngày trong tháng, ngày trong năm và ngày trong tuần Để biết bảng phân tích về một số mã thông báo định dạng ngày khác nhau trên các ngôn ngữ khác nhau, hãy xem biểu đồ mã thông báo định dạng ngày này tốc độ định dạngĐể so sánh Khoảnh khắc. js so với các thư viện khác, hãy xem phần so sánh này với các thư viện khác Các mã thông báo khácNếu bạn cảm thấy thoải mái hơn khi làm việc với strftime thay vì mã thông báo phân tích cú pháp giống như LDML, bạn có thể sử dụng plugin của Ben Oakes. benjaminoakes/khoảnh khắc định dạng mặc địnhGọi 629 không có định dạng sẽ mặc định là 964. Ngoài hộp, ________ 5964 là định dạng ISO 8601 ________ 5966Kể từ phiên bản 2. 13. 0, khi ở chế độ UTC, định dạng mặc định được điều chỉnh bởi 967 có định dạng 968. Điều này trả về 626 làm phần bù, thay vì 970Trong một số trường hợp nhất định, múi giờ địa phương (chẳng hạn như 971) có thể có độ lệch bằng 0 và sẽ được coi là UTC. Trong những trường hợp như vậy, có thể hữu ích khi đặt 964 và 967 để sử dụng cùng một định dạngThay đổi giá trị của 964 sẽ chỉ ảnh hưởng đến định dạng và sẽ không ảnh hưởng đến phân tích cú pháp. Ví dụ 22Thời gian tính từ bây giờ 1. 0. 0+chỉnh sửa 23Một cách phổ biến để hiển thị thời gian được xử lý bởi 975. Điều này đôi khi được gọi là timeago hoặc thời gian tương đối 24Nếu bạn vượt qua 953, bạn có thể nhận được giá trị mà không cần hậu tố 25Các chuỗi cơ sở được tùy chỉnh theo ngôn ngữ hiện tại. Thời gian được làm tròn đến giây gần nhất Bảng phân tích chuỗi nào được hiển thị trong mỗi khoảng thời gian được nêu trong bảng bên dưới Đầu ra mẫu RangeKey 0 đến 44 giây vài giây trướcunsetss44 giây trước 45 đến 89 giâyma phút trước90 giây đến 44 phútmm2 phút trước. 44 phút trước45 đến 89 phútshan giờ trước90 phút đến 21 giờhh2 giờ trước. 21 giờ trước22 đến 35 giờda ngày trước36 giờ đến 25 ngàydd2 ngày trước. 25 ngày trước26 đến 45 ngàyMa tháng trước45 đến 319 ngàyMM2 tháng trước. 10 tháng trước320 tới 547 ngày (1. 5 năm)một năm trước 548 ngày+yy2 năm trước. 20 năm trướcGhi chú. Từ phiên bản 2. 10. 3, nếu đối tượng thời điểm đích không hợp lệ, kết quả là chuỗi ngày không hợp lệ được bản địa hóa Ghi chú. Khóa 977 đã được thêm vào 2. 18. 0. Đó là một ngưỡng tùy chọn. Nó sẽ không bao giờ hiển thị TRỪ KHI người dùng đặt ngưỡng ss theo cách thủ công. Cho đến khi ngưỡng 977 được đặt, nó sẽ mặc định là giá trị của ngưỡng 979 trừ đi 1 (do đó, người dùng không nhìn thấy được)Đến giờ 2. 10. 3+chỉnh sửa 26Một cách phổ biến để hiển thị thời gian được xử lý bởi 980. Điều này đôi khi được gọi là timeago hoặc thời gian tương đốiĐiều này tương tự với 981, nhưng đưa ra khoảng thời gian ngược lại. 982Điều này tương tự như ________ 5983, nhưng là trường hợp đặc biệt cho thời điểm hiện tại. Sử dụng 983, nếu bạn muốn kiểm soát hai điểm cuối của khoảng thời gian 27Nếu bạn vượt qua 953, bạn có thể nhận giá trị mà không cần tiền tố 28Các chuỗi cơ sở được tùy chỉnh theo ngôn ngữ hiện tại Bảng phân tích chuỗi nào được hiển thị trong mỗi khoảng thời gian được nêu trong bảng bên dưới RangeKeySample Output0 đến 44 giây trong giây45 đến 89 giâyphút một phút90 giây đến 44 phútmmin 2 phút. trong 44 phút45 đến 89 phút hin một giờ90 phút đến 21 giờ hin 2 giờ. trong 21 giờ22 đến 35 giờ trong một ngày36 giờ đến 25 ngàyddin 2 ngày. trong 25 ngày26 đến 45 ngàyTối thiểu một tháng45 đến 319 ngàyMMTối thiểu 2 tháng. trong 10 tháng320 đến 547 ngày (1. 5 năm) âm một năm548 ngày+yyin 2 năm. Trong 20 nămTừ phiên bản 2. 10. 3, nếu đối tượng thời điểm đích không hợp lệ, kết quả là chuỗi ngày không hợp lệ được bản địa hóa Thời gian theo lịch 1. 3. 0+chỉnh sửa 29Thời gian trên lịch hiển thị thời gian tương ứng với một 986 nhất định (mặc định là bắt đầu từ ngày hôm nay), nhưng hiển thị hơi khác so với 975 988 sẽ định dạng một ngày với các chuỗi khác nhau tùy thuộc vào mức độ gần với ngày của 986 (theo mặc định là ngày hôm nay).Tuần trước Thứ Hai tuần trước lúc 2. 30 Ngày hôm trước Hôm qua lúc 2. 30 AMP Cùng ngày Hôm nay lúc 2. 30 AMNgày hôm sauNgày mai lúc 2. 30 giờ sáng Chủ nhật tuần sau lúc 2. 30 AMMọi thứ khác7/10/2011Các chuỗi này được bản địa hóa và có thể được tùy chỉnh từ 2. 10. 5 thời điểm hỗ trợ chỉ định định dạng đầu ra lịch cho mỗi lần gọi 70 990 được sử dụng làm định dạng khi thời điểm cách 986 hơn một tuầnGhi chú. Từ phiên bản 2. 14. 0, đối số định dạng cho lịch có thể là lệnh gọi lại được thực thi trong ngữ cảnh thời điểm với một đối số duy nhất ngay bây giờ 71Ghi chú. Từ phiên bản 2. 25. 0, bạn chỉ có thể truyền đối số định dạng, nó có thể là đối tượng của chuỗi và hàm 72Sự khác biệt 1. 0. 0+chỉnh sửa 73Để có sự khác biệt tính bằng mili giây, hãy sử dụng 992 giống như bạn sẽ sử dụng 993 74Để có được sự khác biệt trong một đơn vị đo lường khác, hãy chuyển phép đo đó làm đối số thứ hai 75Để có được khoảng thời gian chênh lệch giữa hai khoảnh khắc, bạn có thể chuyển 994 làm đối số thành 995. Xem tài liệu trên moment#duration để biết thêm thông tinCác phép đo được hỗ trợ là 996, 997, 998, 999, 000, 001 và 002. Để dễ phát triển, các dạng số ít được hỗ trợ kể từ 2. 0. 0. Các đơn vị đo lường khác với mili giây có sẵn trong phiên bản 1. 1. 1Theo mặc định, 992 sẽ cắt bớt kết quả đến 0 chữ số thập phân, trả về một số nguyên. Nếu bạn muốn một số dấu phẩy động, hãy chuyển 953 làm đối số thứ ba. trước 2. 0. 0, 992 trả về một số được làm tròn thành số nguyên gần nhất, không phải số bị cắt bớt 76Nếu thời điểm này sớm hơn thời điểm bạn chuyển đến 006, giá trị trả về sẽ là số âm 77Một cách dễ dàng để nghĩ về điều này là thay thế 007 bằng một toán tử trừ 78Tháng và năm khác nhau 992 có một số cách xử lý đặc biệt đối với chênh lệch tháng và năm. Nó được tối ưu hóa để đảm bảo rằng hai tháng có cùng ngày luôn cách nhau một số nguyênVì vậy, ngày 15 tháng 1 đến ngày 15 tháng 2 phải đúng 1 tháng 28/02 đến 28/03 chắc là đúng 1 tháng Ngày 28 tháng 2 năm 2011 đến ngày 28 tháng 2 năm 2012 phải đúng 1 năm Xem thêm thảo luận về chênh lệch tháng và năm tại đây Sự thay đổi khác biệt giữa tháng và năm này được thực hiện trong 2. 0. 0. Kể từ phiên bản 2. 9. 0 diff cũng hỗ trợ đơn vị quý Có trước 2. 0. 0+chỉnh sửa 79Kiểm tra xem một khoảnh khắc có trước một khoảnh khắc khác không. Đối số đầu tiên sẽ được phân tích cú pháp như một khoảnh khắc, nếu chưa 00Nếu bạn muốn giới hạn mức độ chi tiết ở một đơn vị khác với mili giây, hãy chuyển các đơn vị làm tham số thứ hai Vì tham số thứ hai xác định độ chính xác và không chỉ kiểm tra một giá trị duy nhất, sử dụng ngày sẽ kiểm tra năm, tháng và ngày 01Giống như 009 và 010, bất kỳ đơn vị thời gian nào được hỗ trợ cho ________ 6011 đều được hỗ trợ cho ________ 6012 02Nếu không có gì được chuyển đến 012, nó sẽ mặc định là thời điểm hiện tạiGHI CHÚ. 014 có hành vi không xác định và không nên được sử dụng. Nếu mã chạy nhanh, thời điểm được tạo ban đầu sẽ giống với thời điểm được tạo trong is Before để thực hiện kiểm tra, vì vậy kết quả sẽ là 903. Nhưng nếu mã chạy chậm hơn, có thể thời điểm được tạo trong is Before có thể đo được sau thời điểm được tạo trong 731, vì vậy lệnh gọi sẽ trả về 953Giống nhau 2. 0. 0+chỉnh sửa 03Kiểm tra xem một khoảnh khắc có giống với một khoảnh khắc khác không. Đối số đầu tiên sẽ được phân tích cú pháp như một khoảnh khắc, nếu chưa 04Nếu bạn muốn giới hạn mức độ chi tiết ở một đơn vị khác với mili giây, hãy chuyển nó làm tham số thứ hai 05Khi bao gồm tham số thứ hai, nó sẽ khớp với tất cả các đơn vị bằng hoặc lớn hơn. Vượt qua _______ 6018 sẽ kiểm tra _______ 6018 và ________ 6020. Vượt qua ________ 6021 sẽ kiểm tra _______ 6021, ________ 6018 và ________ 6020 06Giống như 009 và 012, bất kỳ đơn vị thời gian nào được hỗ trợ cho 011 đều được hỗ trợ cho 010 02Nếu hai thời điểm có múi giờ khác nhau thì múi giờ của thời điểm đầu tiên sẽ được dùng để so sánh 08GHI CHÚ. 029 có hành vi không xác định và không nên được sử dụng. Nếu mã chạy nhanh, thời điểm được tạo ban đầu sẽ giống với thời điểm được tạo trong isSame để thực hiện kiểm tra, vì vậy kết quả sẽ là 953. Nhưng nếu mã chạy chậm hơn thì có thể đo được thời điểm được tạo trong isSame sau thời điểm được tạo trong 731, do đó lệnh gọi sẽ trả về 903Nằm giữa 2. 9. 0+chỉnh sửa 09Kiểm tra xem một khoảnh khắc có nằm giữa hai khoảnh khắc khác hay không, tùy ý xem theo tỷ lệ đơn vị (phút, giờ, ngày, v.v.). Trận đấu là độc quyền. Hai đối số đầu tiên sẽ được phân tích cú pháp dưới dạng khoảnh khắc, nếu chưa được như vậy 00Lưu ý rằng thứ tự của hai đối số quan trọng. ngày "nhỏ hơn" phải ở đối số đầu tiên 01Nếu bạn muốn giới hạn mức độ chi tiết ở một đơn vị khác với mili giây, hãy chuyển các đơn vị này làm tham số thứ ba 02Giống như 010, 012, 009 bất kỳ đơn vị thời gian nào được hỗ trợ cho 011 đều được hỗ trợ cho 037. Năm, tháng, tuần, isoWeek, ngày, giờ, phút và giâyPhiên bản 2. 13. 0 giới thiệu tính toàn diện. Một 038 cho biết bao gồm một giá trị. Một 039 biểu thị loại trừ. Nếu tham số bao gồm được sử dụng, cả hai chỉ số phải được thông qua 03Lưu ý rằng trong trường hợp các tham số 040 và 041 giống nhau, nhưng các tham số bao gồm khác nhau, sai sẽ chiếm ưu thế 04Nếu tham số bao gồm không được chỉ định, Moment sẽ mặc định là 042Là Giờ mùa hè 1. 2. 0+chỉnh sửa 05 043 kiểm tra xem thời điểm hiện tại có phải là giờ mùa hè khôngGHI CHÚ. Chức năng này là một HACK. thời điểm không có cách nào để biết liệu một thời điểm nhất định có ở DST thực tế hay không. Một số thay đổi về thời gian trong một vùng có liên quan đến DST, một số thì không và không có thông tin múi giờ hoàn chỉnh thì không thể biết được Khoảnh khắc hiện đang kiểm tra thời gian mùa đông và mùa hè, và nếu phần bù khớp với phần bù mùa hè (và thời gian nghỉ hè khác với thời gian nghỉ mùa đông), thì nó sẽ báo cáo DST. Điều này hoạt động trong phần lớn các trường hợp, nhưng như đã đề cập ở trên, không "chính xác" và sẽ không hoạt động trong mọi trường hợp. Vì vậy, đừng đến với chúng tôi phàn nàn Múi giờ thời điểm sự kiện (tại thời điểm viết 0. 5. 37) không hỗ trợ thông tin DST (i. e có phải là đồng hồ chính thức trong DST tại một thời điểm nhất định hay không), vì vậy để mọi thứ trở nên tốt hơn, một số nội dung mới (và gói tzdata) phải diễn ra theo múi giờ 06Thay đổi ngôn ngữ trên toàn cầu 1. 0. 0+chỉnh sửa 07Theo mặc định, Khoảnh khắc. js đi kèm với chuỗi ngôn ngữ tiếng Anh (Hoa Kỳ). Nếu bạn cần các ngôn ngữ khác, bạn có thể tải chúng vào Khoảnh khắc. js để sử dụng sau Để tải một ngôn ngữ, hãy chuyển khóa và các giá trị chuỗi tới 044Bạn có thể tìm thêm chi tiết về từng phần của gói ngôn ngữ trong phần tùy chỉnh 08Thông tin chi tiết về 045 và 046 có thể được tìm thấy trong phần tùy chỉnhSau khi bạn tải một ngôn ngữ, nó sẽ trở thành ngôn ngữ hoạt động. Để thay đổi ngôn ngữ đang hoạt động, chỉ cần gọi 044 bằng khóa của ngôn ngữ đã tải 09kể từ 2. 21. 0, Khoảnh khắc sẽ 048 nếu ngôn ngữ không khả dụngkể từ 2. 8. 0, việc thay đổi ngôn ngữ chung không ảnh hưởng đến các phiên bản hiện có 10 044 trả về ngôn ngữ được sử dụng. Điều này hữu ích vì Khoảnh khắc sẽ không thay đổi ngôn ngữ nếu nó không biết ngôn ngữ bạn chỉ định 11Bạn cũng có thể chỉ định một danh sách các ngôn ngữ và Moment sẽ sử dụng danh sách đầu tiên mà nó có bản địa hóa cho 12Moment cũng sẽ thử các chuỗi con của trình xác định ngôn ngữ từ cụ thể nhất đến ít cụ thể nhất cho đến khi tìm thấy một ngôn ngữ mà nó biết. Điều này hữu ích khi cung cấp Khoảnh khắc bằng chuỗi ngôn ngữ được lấy từ môi trường của người dùng, chẳng hạn như 050 13Cuối cùng, Moment sẽ tìm kiếm một cách thông minh thông qua một loạt các ngôn ngữ và chuỗi con của chúng 14Logic hoạt động như sau -- ngôn ngữ tiếp theo được chọn và thử nguyên trạng. Nếu không thành công, mã thường cố gắng cắt bit cuối cùng (thường là ký hiệu quốc gia) và thử lại. Tuy nhiên, nếu phần tử mảng tiếp theo có tiền tố giống hoặc dài hơn phần tử được thử, thì quá trình lặp lại tiếp tục. Vì vậy, ví dụ nếu mảng có trình tự 15sau đó thử "AA-BB" đầu tiên, sau đó một giải pháp ngây thơ sẽ thử "AA", nhưng thay vào đó, giải pháp này sẽ kiểm tra xem "AA-CC" thực sự cụ thể hơn "AA", vì vậy, nó thử "AA-CC" . Vì vậy, cuối cùng, các ngôn ngữ sau được thử theo thứ tự này (giả sử tất cả đều không thành công nên ngôn ngữ tiếp theo sẽ được thử) 16Thay đổi ngôn ngữ cục bộ 1. 7. 0+chỉnh sửa 17Cấu hình ngôn ngữ chung có thể gặp sự cố khi chuyển qua các khoảnh khắc có thể cần được định dạng thành ngôn ngữ khác 18Nếu bạn gọi 051 mà không có tham số, bạn sẽ lấy lại cấu hình ngôn ngữ sẽ được sử dụng cho thời điểm đó 19Nếu bạn cần truy cập dữ liệu ngôn ngữ trong giây lát, đây là cách ưu tiên để làm như vậy kể từ 2. 3. 0, bạn cũng có thể chỉ định một mảng các mã định danh ngôn ngữ. Nó hoạt động giống như trong cấu hình ngôn ngữ toàn cầu Liệt kê các tháng và ngày trong tuần của Khoảnh khắc hiện tại. ngôn ngữ js 2. 3. 0+chỉnh sửa 20Đôi khi, rất hữu ích khi lấy danh sách các tháng hoặc ngày trong tuần ở một ngôn ngữ, chẳng hạn như khi điền vào menu thả xuống 21Trả về danh sách các tháng ở ngôn ngữ hiện tại 22Tương tự, 052 trả về tên tháng viết tắt và 053, 054, 055 trả về danh sách các ngày trong tuầnBạn có thể chuyển một số nguyên vào từng hàm đó để biết tháng hoặc ngày trong tuần cụ thể 23kể từ 2. 13. 0, bạn có thể chuyển một bool làm tham số đầu tiên của các hàm ngày trong tuần. Nếu đúng, các ngày trong tuần sẽ được trả về theo thứ tự ngôn ngữ cụ thể. Chẳng hạn, trong tiếng Ả Rập, Thứ Bảy là ngày đầu tiên trong tuần, do đó 24Ghi chú. Không có tham số cụ thể của ngôn ngữ, các ngày trong tuần luôn có Chủ nhật là chỉ số 0, bất kể ngày đầu tuần của địa phương đó là gì Một số địa phương đưa ra những cân nhắc đặc biệt khi định dạng tên tháng. Ví dụ: định dạng tiếng Hà Lan viết tắt tháng không có dấu chấm, nhưng chỉ khi nó định dạng tháng giữa các dấu gạch ngang. Phương thức 997 hỗ trợ chuyển định dạng để các tháng sẽ được liệt kê trong ngữ cảnh phù hợp 25Và cuối cùng, bạn có thể kết hợp cả tùy chọn định dạng và tùy chọn số nguyên 26Truy cập chức năng dành riêng cho ngôn ngữ 2. 8. 0+chỉnh sửa 27Bạn có thể truy cập các thuộc tính của ngôn ngữ hiện được tải thông qua chức năng 057. Nó trả về ngôn ngữ hiện tại hoặc một ngôn ngữ với khóa đã cho 28Đối tượng được trả về có các phương thức sau 29Thông tin chi tiết về 058 có thể được tìm thấy trong phần tùy chỉnhKhoảng khăc. js rất dễ tùy chỉnh. Nói chung, bạn nên tạo cài đặt ngôn ngữ với các tùy chỉnh của mình 30Bạn có thể xóa một ngôn ngữ đã xác định trước đó bằng cách chuyển 768 làm đối số thứ hai. Ngôn ngữ đã xóa sẽ không còn khả dụng để sử dụng 31kể từ 2. 12. 0, có thể tạo ngôn ngữ kế thừa từ ngôn ngữ gốc 32Các thuộc tính không được chỉ định trong ngôn ngữ sẽ được kế thừa từ ngôn ngữ gốc kể từ 2. 16. 0, có thể xác định ngôn ngữ có cha mẹ chưa được xác định hoặc tải 33kể từ 2. 21. 0 khi cố gắng tạo một khoảnh khắc với ngôn ngữ mới được xác định, khoảnh khắc sẽ cố tải cha mẹ xuống nếu nó tồn tại. Không thành công, nó sẽ mặc định cha mẹ thành ngôn ngữ toàn cầu kể từ 2. 12. 0 cũng có thể cập nhật các thuộc tính của ngôn ngữ 34Bất kỳ thuộc tính nào được chỉ định sẽ được cập nhật, trong khi các thuộc tính khác sẽ giữ nguyên. Chức năng này không ảnh hưởng đến những khoảnh khắc đã tồn tại. Lưu ý rằng việc gọi 060 cũng thay đổi ngôn ngữ toàn cầu hiện tại thành ngôn ngữ được cập nhật; Để hoàn nguyên một bản cập nhật, hãy sử dụng 352. 12. 0 không dùng nữa bằng cách sử dụng 643 để thay đổi ngôn ngữ hiện có. Sử dụng 062 để thay thếTên tháng 1. 0. 0+chỉnh sửa 36 063 phải là một mảng tên tháng 37Nếu bạn cần xử lý nhiều hơn để tính tên của tháng, (ví dụ: nếu có các ngữ pháp khác nhau cho các định dạng khác nhau), thì 063 có thể là một hàm có chữ ký sau. Nó phải luôn trả về một tên tháng 38Từ phiên bản 2. 11. 0 tháng cũng có thể là một đối tượng, chỉ định các hình thức 065 và 066 (chỉ định và buộc tội). Biểu thức chính quy được chạy trên định dạng để kiểm tra xem có sử dụng biểu mẫu ________ 6066 hay không là ________ 6068. Từ phiên bản 2. 14. 0 một số khác có thể được chỉ định bằng phím 069 39Tên ngày trong tuần 1. 0. 0+chỉnh sửa 40 070 phải là một mảng tên các ngày trong tuần 41 070 cũng có thể là một chức năng gọi lại 42Ghi chú. Từ phiên bản 2. 11. 0 định dạng/trường hợp độc lập cũng có thể được thông qua. 069 sẽ được sử dụng đối với chuỗi định dạng đầy đủ để xác định nên sử dụng biểu mẫu nào 43Thời gian tương đối 1. 0. 0+chỉnh sửa 44 073 phải là một đối tượng của chuỗi thay thế cho 993 45 075 đề cập đến tiền tố/hậu tố cho các ngày trong tương lai và 076 đề cập đến tiền tố/hậu tố cho các ngày trong quá khứ. Đối với tất cả những người khác, một ký tự đơn đề cập đến số ít và một ký tự kép đề cập đến số nhiềuNếu một ngôn ngữ yêu cầu xử lý bổ sung cho mã thông báo, thì nó có thể đặt mã thông báo làm hàm có chữ ký sau. Hàm sẽ trả về một chuỗi 46Đối số 077 đề cập đến khóa thay thế trong đối tượng 073. (ví dụ. 079, v.v. )Đối số 080 đề cập đến số lượng đơn vị cho khóa đó. Đối với 081, số này là số phút, v.v.Đối số 082 sẽ là đúng nếu mã thông báo sẽ được hiển thị mà không có hậu tố và sai nếu nó được hiển thị với hậu tố. (Lý do logic đảo ngược là vì hành vi mặc định là hiển thị với hậu tố. )Đối số 083 sẽ đúng nếu nó sẽ sử dụng hậu tố/tiền tố tương lai và sai nếu nó sẽ sử dụng tiền tố/hậu tố quá khứGhi chú. Xử lý cho 084 và 085 đã được thêm vào 2. 25. 0Ngưỡng thời gian tương đối 2. 7. 0+chỉnh sửa 47 086 có các ngưỡng xác định thời điểm một đơn vị được coi là phút, giờ, v.v. Ví dụ: theo mặc định, hơn 45 giây được coi là một phút, hơn 22 giờ được coi là một ngày, v.v. Để thay đổi các ngưỡng đó, hãy sử dụng 087 trong đó đơn vị là một trong số ________ 5977, ________ 5979, _______ 6081, ________ 6091, 092, 084, 094đơn vị nghĩa là cách sử dụng vài giây số giây ít nhất được tính bằng giây, trừ đi 1. Phải được đặt sau khi đặt đơn vị `s` hoặc không đặt đơn vị `s`. ssecondsố giây ít nhất được coi là một phút. mminutes số phút ít nhất được coi là một giờ. hhourssố giờ ít nhất được coi là một ngày. ddaysít nhất số ngày được coi là một tuần. wweeksố tuần ít nhất được coi là một tháng. Không được sử dụng theo mặc định. Mtháng số tháng ít nhất được coi là một năm. 48Ghi chú. Đơn vị tuần đã được thêm vào trong 2. 25. 0. Theo mặc định, nó không được sử dụng (đặt thành null), nhưng bạn có thể đặt thành giá trị khác null và cũng (tùy chọn) đặt 092 thấp hơn, để nó chuyển từ vài ngày sang vài tuần trước đóGhi chú. Truy xuất ngưỡng đã được thêm vào trong 2. 8. 1 Ghi chú. Truy xuất và đặt ngưỡng 977 đã được thêm vào 2. 18. 0Ngày đầu tuần và tuần đầu tiên của năm 1. 0. 0+chỉnh sửa 49 097 phải là một số nguyên đại diện cho ngày đầu tiên của tuần, 0 là Chủ Nhật, 1 là Thứ Hai,. , 6 là thứ bảy 098 phải là một số nguyên. 099 được sử dụng cùng với 100 để xác định tuần đầu tiên của năm. 099 được tính là 102, trong đó 103 là ngày đầu tiên của tháng 1 phải thuộc tuần đầu tiên của năm 50Thời đại 2. 25. 0+chỉnh sửa 51Chỉ định thời đại cho một ngôn ngữ cụ thể. Một thời đại là một khoảng thời gian với tên và đánh số năm. Số năm tuyệt đối (như 2020) cũng có thể được chỉ định là 2020 AD. năm thứ 2020 của kỷ nguyên sau công nguyên. Tương tự, số năm tuyệt đối -0500 có thể được mô tả là 501 trước Công nguyên, năm thứ 501 kể từ thời đại trước Công nguyên 52 104 và 105 chi phối hướng đi của thời đại. Như trong trường hợp của 106, nó phát triển về phía 107, do đó 104 > 105. Đối với các thời đại tăng dần về phía +Vô cực ________ 6104 < ________ 6105Phân tích cú pháp/định dạng thời đại được thực hiện bằng mã thông báo 112, 113 và 114Ghi chú. Các API liên quan đến thời đại có thể thay đổi Đang tạo 1. 6. 0+chỉnh sửa 53Để tạo khoảng thời gian, hãy gọi 115 với khoảng thời gian tính bằng mili giây 54Nếu bạn muốn tạo khoảnh khắc với đơn vị đo khác mili giây, bạn có thể truyền đơn vị đo cũng được 55Cách viết tắt tương tự cho 116 và 117 cũng hoạt động ở đâyPhím Viết tắtnămsythángMtuầnswdaysdhourshminutesmsecondssmillisecondsmsGiống như 116, bạn có thể truyền một đối tượng giá trị nếu bạn cần nhiều đơn vị đo lường khác nhau 56kể từ 2. 1. 0, thời điểm hỗ trợ phân tích cú pháp ASP. NET phong cách khoảng thời gian. Các định dạng sau được hỗ trợ Định dạng là một chuỗi giờ, phút, giây được phân tách bằng dấu hai chấm như 119. Số ngày có thể được bắt đầu bằng dấu phân cách dấu chấm như vậy 120. Một phần giây cũng được hỗ trợ 121 57kể từ 2. 3. 0, khoảnh khắc cũng hỗ trợ phân tích thời lượng ISO 8601 58kể từ 2. 11. 0, chuỗi định dạng thời lượng có khoảng cách giữa ngày và phần còn lại được hỗ trợ 59kể từ 2. 13. 0, các dấu hiệu âm và dương hỗn hợp được hỗ trợ khi phân tích thời lượng 60kể từ 2. 18. 0, thời lượng không hợp lệ được hỗ trợ, tương tự như thời điểm không hợp lệ. Để tạo khoảng thời gian không hợp lệ, bạn có thể chuyển 922 cho giá trị của một đơn vịTrong các bản phát hành sắp tới, thời lượng không hợp lệ sẽ bao gồm nhiều trường hợp hơn (như giá trị null cho đơn vị) 61Nhân hóa 1. 6. 0+chỉnh sửa 62Đôi khi, bạn muốn tất cả những điều tốt đẹp của 993 nhưng bạn không muốn phải tạo hai khoảnh khắc, bạn chỉ muốn hiển thị một khoảng thời gianNhập 124 63Theo mặc định, chuỗi trả về mô tả khoảng thời gian 125 (không có hậu tố). Nếu bạn muốn thời lượng định hướng 126, 127 (có hậu tố), hãy chuyển true như bên dưới 64Đối với các hậu tố trước đây, hãy chuyển vào một số âm 65Thời lượng không hợp lệ được nhân hóa thành phiên bản địa phương hóa của 128 66Đầu ra nhân hóa có thể được cấu hình với các ngưỡng thời gian tương đối. Để chỉ định các ngưỡng cho một lời gọi nhân hóa cụ thể, hãy chuyển chúng dưới dạng đối số duy nhất hoặc sau hậu tố arg |