Phương thức tĩnh
// Non-ISO string with invalid date values
new Date["23/25/2014"];
4 phân tích cú pháp biểu diễn chuỗi của một ngày và trả về số mili giây kể từ ngày 1 tháng 1 năm 1970, 00. 00. 00 UTC hoặc // Non-ISO string with invalid date values
new Date["23/25/2014"];
5 nếu chuỗi không được nhận dạng hoặc, trong một số trường hợp, chứa các giá trị ngày không hợp lệ [e. g. 31-02-2015]Chỉ [
// Non-ISO string with invalid date values
new Date["23/25/2014"];
6] được chỉ định rõ ràng để được hỗ trợ. Các định dạng khác được xác định theo triển khai và có thể không hoạt động trên tất cả các trình duyệt. Một thư viện có thể trợ giúp nếu nhiều định dạng khác nhau được cung cấpDate.parse[dateString]
// Non-ISO string with invalid date values
new Date["23/25/2014"];
7Một chuỗi đại diện. [Các định dạng khác có thể được sử dụng, nhưng kết quả phụ thuộc vào việc triển khai. ]
Một số đại diện cho mili giây đã trôi qua kể từ ngày 1 tháng 1 năm 1970, 00. 00. 00 UTC và ngày có được bằng cách phân tích cú pháp biểu diễn chuỗi đã cho của một ngày. Nếu đối số không đại diện cho một ngày hợp lệ, thì
// Non-ISO string with invalid date values
new Date["23/25/2014"];
5 được trả vềPhương thức
// Non-ISO string with invalid date values
new Date["23/25/2014"];
9 lấy một chuỗi ngày [chẳng hạn như // ISO string with invalid values
new Date["2014-25-23"].toISOString[];
// throws "RangeError: invalid date"
0] và trả về số mili giây kể từ ngày 1 tháng 1 năm 1970, 00. 00. 00 UTCHàm này hữu ích để đặt giá trị ngày dựa trên giá trị chuỗi, ví dụ như kết hợp với phương thức
// ISO string with invalid values
new Date["2014-25-23"].toISOString[];
// throws "RangeError: invalid date"
1 và đối tượng // ISO string with invalid values
new Date["2014-25-23"].toISOString[];
// throws "RangeError: invalid date"
2Biểu diễn chuỗi tiêu chuẩn của chuỗi ngày giờ là sự đơn giản hóa của định dạng mở rộng ngày theo lịch theo tiêu chuẩn ISO 8601. [Xem phần trong đặc tả ECMAScript để biết thêm chi tiết. ]
Ví dụ:
// ISO string with invalid values
new Date["2014-25-23"].toISOString[];
// throws "RangeError: invalid date"
3 [dạng chỉ ngày], // ISO string with invalid values
new Date["2014-25-23"].toISOString[];
// throws "RangeError: invalid date"
0 [dạng ngày-giờ] hoặc // ISO string with invalid values
new Date["2014-25-23"].toISOString[];
// throws "RangeError: invalid date"
5 [dạng ngày-giờ có mili giây và múi giờ] có thể được chuyển và sẽ được phân tích cú pháp. Khi không có phần bù múi giờ, các biểu mẫu chỉ ngày tháng được hiểu là thời gian UTC và các biểu mẫu ngày giờ được hiểu là giờ địa phươngMặc dù các chỉ định múi giờ được sử dụng trong quá trình phân tích chuỗi ngày để diễn giải đối số, nhưng giá trị được trả về luôn là số mili giây trong khoảng thời gian từ ngày 1 tháng 1 năm 1970 00. 00. 00 UTC và thời điểm được đại diện bởi đối số hoặc
// Non-ISO string with invalid date values
new Date["23/25/2014"];
5Bởi vì
// Non-ISO string with invalid date values
new Date["23/25/2014"];
9 là một phương thức tĩnh của // ISO string with invalid values
new Date["2014-25-23"].toISOString[];
// throws "RangeError: invalid date"
2, nên nó được gọi là // Non-ISO string with invalid date values
new Date["23/25/2014"];
4 chứ không phải là một phương thức của một thể hiện // ISO string with invalid values
new Date["2014-25-23"].toISOString[];
// throws "RangeError: invalid date"
2Ghi chú. Phần này chứa hành vi triển khai cụ thể có thể không nhất quán giữa các triển khai
Trạng thái đặc điểm kỹ thuật ECMAScript. Nếu Chuỗi không tuân theo định dạng tiêu chuẩn, hàm có thể quay trở lại bất kỳ thuật toán phân tích cú pháp cụ thể nào của triển khai cụ thể hoặc thuật toán phân tích cú pháp cụ thể của triển khai. Các chuỗi hoặc ngày không thể nhận dạng có chứa các giá trị phần tử không hợp lệ trong các chuỗi được định dạng ISO sẽ khiến ___________4 trả về ____0_______5
Tuy nhiên, các giá trị không hợp lệ trong chuỗi ngày không được nhận dạng ở định dạng ISO đơn giản hóa như được xác định bởi ECMA-262 có thể dẫn đến hoặc không dẫn đến
// Non-ISO string with invalid date values
new Date["23/25/2014"];
5, tùy thuộc vào trình duyệt và các giá trị được cung cấp, e. g// Non-ISO string with invalid date values
new Date["23/25/2014"];
sẽ được coi là ngày địa phương là ngày 25 tháng 11 năm 2015 trong Firefox 30 và ngày không hợp lệ trong Safari 7
Tuy nhiên, nếu chuỗi được nhận dạng là chuỗi định dạng ISO và chứa giá trị không hợp lệ, chuỗi sẽ trả về
// Non-ISO string with invalid date values
new Date["23/25/2014"];
5// ISO string with invalid values
new Date["2014-25-23"].toISOString[];
// throws "RangeError: invalid date"
Bạn có thể tìm thấy heuristic dành riêng cho triển khai của SpiderMonkey trong. Chuỗi
new Date["10 06 2014"];
6 là một ví dụ về định dạng ISO không phù hợp và do đó rơi trở lại thói quen tùy chỉnh. Xem thêm điều này về cách phân tích cú pháp hoạt độngnew Date["10 06 2014"];
sẽ được coi là ngày địa phương là ngày 6 tháng 10 năm 2014 chứ không phải ngày 10 tháng 6 năm 2014
Những ví dụ khác
new Date["foo-bar 2014"].toString[];
// returns: "Invalid Date"
Date.parse["foo-bar 2014"];
// returns: NaN
Ghi chú. Phần này chứa hành vi triển khai cụ thể có thể không nhất quán giữa các triển khai
Đưa ra một chuỗi ngày không chuẩn là
new Date["10 06 2014"];
7, // Non-ISO string with invalid date values
new Date["23/25/2014"];
9 giả sử múi giờ địa phương, nhưng với sự đơn giản hóa định dạng mở rộng ngày theo lịch theo tiêu chuẩn ISO 8601, chẳng hạn như new Date["10 06 2014"];
9, nó sẽ giả định múi giờ là UTC. Do đó, các đối tượng // ISO string with invalid values
new Date["2014-25-23"].toISOString[];
// throws "RangeError: invalid date"
2 được tạo bằng cách sử dụng các chuỗi đó có thể biểu thị các thời điểm khác nhau tùy thuộc vào phiên bản ECMAScript được hỗ trợ trừ khi hệ thống được đặt theo múi giờ địa phương là UTC. Điều này có nghĩa là hai chuỗi ngày xuất hiện tương đương nhau có thể dẫn đến hai giá trị khác nhau tùy thuộc vào định dạng của chuỗi đang được chuyển đổiCác cuộc gọi sau đây đều trả về
new Date["foo-bar 2014"].toString[];
// returns: "Invalid Date"
Date.parse["foo-bar 2014"];
// returns: NaN
1. Cái đầu tiên sẽ ngụ ý thời gian UTC và những cái khác đang chỉ định múi giờ UTC thông qua thông số kỹ thuật ngày ISO [new Date["foo-bar 2014"].toString[];
// returns: "Invalid Date"
Date.parse["foo-bar 2014"];
// returns: NaN
2 và new Date["foo-bar 2014"].toString[];
// returns: "Invalid Date"
Date.parse["foo-bar 2014"];
// returns: NaN
3]Date.parse["2019-01-01"];
Date.parse["2019-01-01T00:00:00.000Z"];
Date.parse["2019-01-01T00:00:00.000+00:00"];
Cuộc gọi sau, không chỉ định múi giờ sẽ được đặt thành 2019-01-01 lúc 00. 00. 00 trong múi giờ địa phương của hệ thống
Date.parse["2019-01-01T00:00:00"];
Ghi chú. Phần này chứa hành vi triển khai cụ thể có thể không nhất quán giữa các triển khai
Nếu
new Date["foo-bar 2014"].toString[];
// returns: "Invalid Date"
Date.parse["foo-bar 2014"];
// returns: NaN
4 là một đối tượng // ISO string with invalid values
new Date["2014-25-23"].toISOString[];
// throws "RangeError: invalid date"
2 hiện có, nó có thể được đặt thành ngày 9 tháng 8 năm 1995 [giờ địa phương] như sauipoDate.setTime[Date.parse["Aug 9, 1995"]];
Một số ví dụ khác về phân tích chuỗi ngày không chuẩn
Date.parse["Aug 9, 1995"];
Trả về
new Date["foo-bar 2014"].toString[];
// returns: "Invalid Date"
Date.parse["foo-bar 2014"];
// returns: NaN
6 theo múi giờ GMT-0300 và các giá trị khác ở các múi giờ khác, vì chuỗi không chỉ định múi giờ và không phải là định dạng ISO, do đó, múi giờ mặc định là cục bộDate.parse["Wed, 09 Aug 1995 00:00:00 GMT"];
Trả về
new Date["foo-bar 2014"].toString[];
// returns: "Invalid Date"
Date.parse["foo-bar 2014"];
// returns: NaN
7 bất kể múi giờ địa phương như GMT [UTC] được cung cấp// Non-ISO string with invalid date values
new Date["23/25/2014"];
0Trả về
new Date["foo-bar 2014"].toString[];
// returns: "Invalid Date"
Date.parse["foo-bar 2014"];
// returns: NaN
6 theo múi giờ GMT-0300 và các giá trị khác ở các múi giờ khác, vì không có chỉ định múi giờ trong đối số và nó không phải là định dạng ISO, do đó được coi là cục bộ// Non-ISO string with invalid date values
new Date["23/25/2014"];
1Trả về
new Date["foo-bar 2014"].toString[];
// returns: "Invalid Date"
Date.parse["foo-bar 2014"];
// returns: NaN
9 bất kể múi giờ địa phương là múi giờ GMT [UTC] được cung cấp// Non-ISO string with invalid date values
new Date["23/25/2014"];
2Trả về
Date.parse["2019-01-01"];
Date.parse["2019-01-01T00:00:00.000Z"];
Date.parse["2019-01-01T00:00:00.000+00:00"];
0 ở múi giờ GMT-0400 và các giá trị khác ở các múi giờ khác, vì không có múi giờ nào được cung cấp và chuỗi không ở định dạng ISO, do đó múi giờ địa phương được sử dụng