Hướng dẫn what is iso 8601 date format javascript? - javascript định dạng ngày iso 8601 là gì?
Phương thức Một chuỗi đại diện cho ngày đã cho ở định dạng ISO 8601 theo thời gian phổ quát. Đó là định dạng giống như mô hình được yêu cầu được công nhận bởi Ví dụSử dụng toisostring ()
Ví dụ trên sử dụng phân tích cú pháp của một giá trị chuỗi không tiêu chuẩn có thể không được phân tích chính xác trong các trình duyệt không phải là mozilla. Thông số kỹ thuật
Tính tương thích của trình duyệt webBảng BCD chỉ tải trong trình duyệt Xem thêmLưu ý: Câu trả lời này vẫn đang nhận được các UPVOTES kể từ 2022-03. Thư viện thời điểm.js không được dùng nữa. Đây là hai lựa chọn thay thế chính: Luxon và Day.js, những người khác được đề cập trong liên kết khấu hao.: This answer is still getting upvotes as of 2022-03. The moment.js library is deprecated. These are the two main alternatives: Luxon and Day.js, others are mentioned in the deprecation link. Luxon
Day.js
Tôi sử dụng Day.js vì sự khác biệt về kích thước, nhưng Luxon dễ giải quyết hơn. Hầu như mọi phương thức TO-ISO trên web đều giảm thông tin múi giờ bằng cách áp dụng chuyển đổi thành thời gian "Z" ULU (UTC) trước khi xuất chuỗi. Bản gốc của trình duyệt .toisostring () cũng làm giảm thông tin về thời gian. Điều này loại bỏ thông tin có giá trị, như máy chủ hoặc người nhận, luôn có thể chuyển đổi một ngày ISO đầy đủ sang thời gian Zulu hoặc bất kỳ múi giờ nào mà nó yêu cầu, trong khi vẫn nhận được thông tin múi giờ của người gửi. Giải pháp tốt nhất tôi đi qua là sử dụng thư viện JavaScript khoảnh khắc và sử dụng mã sau:Moment.js javascript library and use the following code: Để có được thời gian ISO hiện tại với thông tin thời gian và mili giây
Để có được thời gian ISO của một đối tượng ngày JavaScript bản địa với thông tin về thời gian nhưng không có mili giây
Điều này có thể được kết hợp với date.js để có các hàm như date.today () có kết quả sau đó có thể được truyền đến thời điểm. Một chuỗi ngày được định dạng như thế này là Trình biên dịch JSON và cho vay tốt để được lưu trữ vào cơ sở dữ liệu. Python và C# dường như thích nó. Phương thức ngày.parse () có thể giúp trong khi xử lý các tính toán bao gồm cả ngày. Các tính toán này dễ dàng hơn nhiều, chính xác hơn và được viết logic hơn khi ngày cơ bản được biểu diễn dưới dạng một số chứ không phải là một chuỗi.Phương thức ngày.parse () lấy một đối số, một chuỗi đại diện cho một ngày và trả về số mili giây đã trôi qua trong khoảng thời gian từ ngày 1 tháng 1 năm 1970, 00:00:00 UTC và ngày được cung cấp. Nếu chuỗi được cung cấp không hợp lệ hoặc không được công nhận là định dạng ngày vì một số lý do, phương thức ngày.parse () trả về nan.Date.parse() method takes as an argument a string representing a date, and returns the number of milliseconds that have elapsed between January 1, 1970, 00:00:00 UTC and the date provided. If the string provided is invalid, or is not recognized as a date format for some reason, the Date.parse() method returns NaN. Theo MDN, không nên sử dụng Date.Parse. Lý do được cung cấp là: Cho đến khi ES5, phân tích các chuỗi hoàn toàn phụ thuộc vào việc thực hiện. Vẫn còn nhiều sự khác biệt trong cách các chuỗi phân tích phân tích khác nhau, do đó các chuỗi ngày nên được phân tích thủ công (một thư viện có thể giúp đỡ nếu nhiều định dạng khác nhau được cung cấp). Để nhận ra điều này, chúng tôi cung cấp một số tùy chọn khác dưới đây trong việc chuyển đổi chuỗi ngày thành dấu thời gian UNIX.Their reasoning provided is: ”… until ES5, parsing of strings was entirely implementation dependent. There are still many differences in how different hosts parse date strings, therefore date strings should be manually parsed (a library can help if many different formats are to be accommodated).” In recognition of this, we provide some other options below under Convert a date String into a UNIX timestamp. Cú phápPhương thức ngày.parse () có cú pháp sau:
Phương thức này chỉ chấp nhận một tham số duy nhất: Datestring - Một chuỗi đại diện cho một ngày trong định dạng mở rộng lịch ISO 8601. Lưu ý - Các trình duyệt khác nhau có thể hỗ trợ các định dạng khác ngoài ISO 8601. – A string representing a date in the ISO 8601 calendar date extended format. Note – different browsers may support other formats in addition to ISO 8601. Định dạng ngày ISO 8601 như sau: Yyyy-MM-DDTHH: MM: SS.SSSZ. Các ký tự đại diện cho dữ liệu sau:
Thông tin thêm về định dạng chuỗi thời gian ngày có thể được tìm thấy ở đây. Ở mức tối thiểu, năm là bắt buộc. Nếu một giá trị không được cung cấp trong chuỗi đầu vào, nó sẽ được cung cấp giá trị tối thiểu của nó (nghĩa là tháng sẽ là tháng 1 nếu không có tháng nào được cung cấp, thời gian sẽ là nửa đêm nếu không có dấu thời gian được cung cấp). Nếu giá trị được chỉ định không hợp lệ cho bất kỳ phần nào của chuỗi dấu thời gian (ví dụ: tháng được đặt thành ‘00,), NAN sẽ được trả về.NaN is returned. Nhiều năm có thể được thông qua dưới dạng bốn chữ số thập phân (tức là năm 2020) hoặc 6 chữ số thập phân với toán tử + hoặc - toán tử được đính kèm.+ or – operator attached. Ví dụ cơ bảnDưới đây là một số ví dụ cơ bản về cách sử dụng ngày.parse () để phân tích chuỗi ngày:Date.parse() to parse a date string: const unixZeroT = Date.parse('1970'); console.log(unixZeroT); // expected output: 0 Trong ví dụ trên, chỉ có năm được chỉ định, khiến dấu thời gian mặc định đến nửa đêm, ngày 1 tháng 1 năm 1970. Vì điều này thể hiện giá trị khởi đầu cho so sánh dấu thời gian, số 0 được trả về. const justNow = Date.parse('+002020-08-09T15:00:00.000'); console.log(justNow); // expected output: 1596974400000 Trong ví dụ trên, năm được chỉ định với 6 chữ số và toán tử cộng ở đầu. Chuỗi này là viết tắt của ngày 9 tháng 8 năm 2020 15:00 PM UTC và giá trị trả lại đại diện cho số mili giây giữa ngày đó đến ngày 1 tháng 1 năm 1970 00:00 AM UTC. Chuyển đổi chuỗi ngày thành dấu thời gian unixTheo hướng dẫn của MDN, có hai phương pháp bổ sung có thể được sử dụng để có được biểu diễn số của một ngày nhất định. Hai phương thức chúng ta sẽ xem xét là date.now () và getTime (). const date = new Date(); const time1 = Date.now(date); console.log(time1); // expected output: 1596987649975 const time2 = date.getTime(); console.log(time2); // expected output: 1596987649975 Trong các ví dụ trên, ngày biến được gán với chuỗi ngày. Cả ngày.now () và getTime () chuyển đổi chuỗi ngày thành dấu thời gian unix.Date.now() and getTime() convert the date string into a UNIX timestamp. Lưu ý: Kết quả của cả hai phương pháp ở trên đều giống hệt nhau, vì chúng đại diện cho các phương tiện khác nhau để có được cùng một thông tin - số lượng mili giây đã trôi qua kể từ ngày 1 tháng 1 năm 1970. the results of both methods above are exactly the same, as they represent different means of getting the same information – the number of milliseconds elapsed since January 1, 1970. Những bài viết liên quan: JavaScript - Cách định dạng ngày JavaScript - Cách nhận các phím và giá trị đối tượng JavaScript - Cách sử dụng thuộc tính tùy chọn đã chọn Định dạng ngày ISO trong JavaScript là gì?Phương thức toisoString () trả về một chuỗi ở định dạng ISO mở rộng được đơn giản hóa (ISO 8601), luôn dài 24 hoặc 27 ký tự (Yyyy-MM-DDTHH: MM: SS.SSSZ hoặc ± YYYYYY-MM-DDTHH: MM: SS.SSSZ, tương ứng).Timezone luôn không có độ lệch UTC, như được biểu thị bằng hậu tố Z.YYYY-MM-DDTHH:mm:ss.sssZ or ±YYYYYY-MM-DDTHH:mm:ss.sssZ , respectively). The timezone is always zero UTC offset, as denoted by the suffix Z .
ISO 8601 có định dạng UTC không?UTC được thay thế bằng z là bù 0 UTC.Thời gian UTC trong ISO-8601 là 11: 27: 34z.Lưu ý rằng chữ Z không có khoảng trống.... Ngày và giờ UTC ở các định dạng khác nhau .. Định dạng ngày mặc định của JS là gì?Định dạng chuỗi phải là: Yyyy-mm-ddthh: MM: SS.SSSZ, Trong đó: Yyyy-MM-DD-là ngày: Ngày tháng năm.Nhân vật "T" được sử dụng làm dấu phân cách.YYYY-MM-DDTHH:mm:ss. sssZ , where: YYYY-MM-DD – is the date: year-month-day. The character "T" is used as the delimiter.
ISO 8601 là múi giờ nào?Thời gian tọa độ phổ quát là thời gian tại không có kinh tuyến, gần Greenwich, Anh.UTC là một giá trị DateTime sử dụng hình thức cơ bản ISO 8601 YYYYMMDDT HHMMSS+|-HHMM hoặc ISO 8601 Mẫu mở rộng YYYY-MM-DDT HH: MM: SS+|-HH: MM. is the time at the zero meridian, near Greenwich, England. UTC is a datetime value that uses the ISO 8601 basic form yyyymmddT hhmmss+|– hhmm or the ISO 8601 extended form yyyy-mm-ddT hh:mm:ss+|– hh:mm. |