Trình xây dựng Date[]
có thể tạo một thể hiện Date
hoặc trả về một chuỗi đại diện cho thời gian hiện tại.Date[]
constructor can create a Date
instance or return a string representing the current time.Thử nó
Cú pháp
new Date[]
new Date[value]
new Date[dateString]
new Date[dateObject]
new Date[year, monthIndex]
new Date[year, monthIndex, day]
new Date[year, monthIndex, day, hours]
new Date[year, monthIndex, day, hours, minutes]
new Date[year, monthIndex, day, hours, minutes, seconds]
new Date[year, monthIndex, day, hours, minutes, seconds, milliseconds]
Date[]
Lưu ý: Date[]
có thể được gọi có hoặc không có new
, nhưng với các hiệu ứng khác nhau. Xem giá trị trả về. Date[]
can be called with or without new
, but with different effects. See
Return value.
Thông số
Có năm hình thức cơ bản cho hàm tạo Date[]
:
Không có tham số
Khi không có tham số nào được cung cấp, đối tượng Date
mới được tạo biểu thị ngày và thời gian hiện tại kể từ thời điểm khởi tạo.
Giá trị thời gian hoặc số dấu thời gian
const today = new Date[]
const birthday = new Date['December 17, 1995 03:24:00'] // DISCOURAGED: may not work in all runtimes
const birthday = new Date['1995-12-17T03:24:00'] // This is ISO-8601-compliant and will work reliably
const birthday = new Date[1995, 11, 17] // the month is 0-indexed
const birthday = new Date[1995, 11, 17, 3, 24, 0]
const birthday = new Date[628021800000] // passing epoch timestamp
1Một giá trị số nguyên đại diện cho số mili giây kể từ ngày 1 tháng 1 năm 1970, 00:00:00 UTC [Ecmascript Epoch, tương đương với Epoch UNIX], với những giây nhảy bỏ qua. Hãy nhớ rằng hầu hết các hàm dấu thời gian Unix chỉ chính xác đến giây gần nhất.
Chuỗi ngày
const today = new Date[]
const birthday = new Date['December 17, 1995 03:24:00'] // DISCOURAGED: may not work in all runtimes
const birthday = new Date['1995-12-17T03:24:00'] // This is ISO-8601-compliant and will work reliably
const birthday = new Date[1995, 11, 17] // the month is 0-indexed
const birthday = new Date[1995, 11, 17, 3, 24, 0]
const birthday = new Date[628021800000] // passing epoch timestamp
2Một giá trị chuỗi đại diện cho một ngày, theo định dạng được công nhận bởi phương thức
const today = new Date[]
const birthday = new Date['December 17, 1995 03:24:00'] // DISCOURAGED: may not work in all runtimes
const birthday = new Date['1995-12-17T03:24:00'] // This is ISO-8601-compliant and will work reliably
const birthday = new Date[1995, 11, 17] // the month is 0-indexed
const birthday = new Date[1995, 11, 17, 3, 24, 0]
const birthday = new Date[628021800000] // passing epoch timestamp
3. .Lưu ý: Khi các chuỗi ngày phân tích phân tích với hàm tạo Date
[và
5, chúng tương đương], luôn đảm bảo rằng đầu vào phù hợp với định dạng ISO 8601 [const today = new Date[]
const birthday = new Date['December 17, 1995 03:24:00'] // DISCOURAGED: may not work in all runtimes
const birthday = new Date['1995-12-17T03:24:00'] // This is ISO-8601-compliant and will work reliably
const birthday = new Date[1995, 11, 17] // the month is 0-indexed
const birthday = new Date[1995, 11, 17, 3, 24, 0]
const birthday = new Date[628021800000] // passing epoch timestamp
6]-hành vi phân tích cú pháp với các định dạng khác được xác định và không hoạt động Tất cả các trình duyệt. Hỗ trợ cho chuỗi định dạng RFC 2822 chỉ theo quy ước. Một thư viện có thể giúp nếu nhiều định dạng khác nhau được cung cấp. When parsing date strings with the const today = new Date[]
const birthday = new Date['December 17, 1995 03:24:00'] // DISCOURAGED: may not work in all runtimes
const birthday = new Date['1995-12-17T03:24:00'] // This is ISO-8601-compliant and will work reliably
const birthday = new Date[1995, 11, 17] // the month is 0-indexed
const birthday = new Date[1995, 11, 17, 3, 24, 0]
const birthday = new Date[628021800000] // passing epoch timestamp
Date
constructor [and
const today = new Date[]
const birthday = new Date['December 17, 1995 03:24:00'] // DISCOURAGED: may not work in all runtimes
const birthday = new Date['1995-12-17T03:24:00'] // This is ISO-8601-compliant and will work reliably
const birthday = new Date[1995, 11, 17] // the month is 0-indexed
const birthday = new Date[1995, 11, 17, 3, 24, 0]
const birthday = new Date[628021800000] // passing epoch timestamp
5, they are equivalent], always make sure that the input conforms
to the ISO 8601 format [const today = new Date[]
const birthday = new Date['December 17, 1995 03:24:00'] // DISCOURAGED: may not work in all runtimes
const birthday = new Date['1995-12-17T03:24:00'] // This is ISO-8601-compliant and will work reliably
const birthday = new Date[1995, 11, 17] // the month is 0-indexed
const birthday = new Date[1995, 11, 17, 3, 24, 0]
const birthday = new Date[628021800000] // passing epoch timestamp
6] — the parsing behavior with other formats is implementation-defined and may not work across all browsers. Support for RFC 2822 format strings is by convention only. A library can help if many different formats are to be accommodated.Các chuỗi chỉ ngày [ví dụ:
const today = new Date[]
const birthday = new Date['December 17, 1995 03:24:00'] // DISCOURAGED: may not work in all runtimes
const birthday = new Date['1995-12-17T03:24:00'] // This is ISO-8601-compliant and will work reliably
const birthday = new Date[1995, 11, 17] // the month is 0-indexed
const birthday = new Date[1995, 11, 17, 3, 24, 0]
const birthday = new Date[628021800000] // passing epoch timestamp
7] được coi là UTC, trong khi các chuỗi thời gian [ví dụ: const today = new Date[]
const birthday = new Date['December 17, 1995 03:24:00'] // DISCOURAGED: may not work in all runtimes
const birthday = new Date['1995-12-17T03:24:00'] // This is ISO-8601-compliant and will work reliably
const birthday = new Date[1995, 11, 17] // the month is 0-indexed
const birthday = new Date[1995, 11, 17, 3, 24, 0]
const birthday = new Date[628021800000] // passing epoch timestamp
8] được coi là cục bộ. Do đó, bạn cũng nên đảm bảo định dạng đầu vào phù hợp giữa hai loại.Đối tượng ngày
const today = new Date[]
const birthday = new Date['December 17, 1995 03:24:00'] // DISCOURAGED: may not work in all runtimes
const birthday = new Date['1995-12-17T03:24:00'] // This is ISO-8601-compliant and will work reliably
const birthday = new Date[1995, 11, 17] // the month is 0-indexed
const birthday = new Date[1995, 11, 17, 3, 24, 0]
const birthday = new Date[628021800000] // passing epoch timestamp
9Một đối tượng Date
hiện có. Điều này có hiệu quả tạo ra một bản sao của đối tượng Date
hiện có với cùng ngày và thời gian. Điều này tương đương với
console.log[new Date[undefined]]; // Invalid Date
2, ngoại trừ phương pháp console.log[new Date[undefined]]; // Invalid Date
3 không được gọi.Khi một tham số được chuyển đến hàm tạo Date[]
, các trường hợp Date
được xử lý đặc biệt. Tất cả các giá trị khác được chuyển đổi thành nguyên thủy. Nếu kết quả là một chuỗi, nó sẽ được phân tích cú pháp dưới dạng chuỗi ngày. Mặt khác, kết quả nguyên thủy được ép thêm với một số và được coi là dấu thời gian.
Giá trị thành phần ngày và thời gian cá nhân
Được đưa ra ít nhất một năm và tháng, hình thức Date[]
này trả về một đối tượng Date
có giá trị thành phần [năm, tháng, ngày, giờ, phút, thứ hai và mili giây] đều đến từ các tham số sau. Bất kỳ trường bị thiếu nào được cung cấp giá trị thấp nhất có thể [
console.log[new Date[undefined]]; // Invalid Date
8 cho console.log[new Date[undefined]]; // Invalid Date
9 và console.log[new Date[null]]; // 1970-01-01T00:00:00.000Z
0 cho mọi thành phần khác]. Các giá trị tham số đều được đánh giá so với múi giờ cục bộ, thay vì UTC.Nếu bất kỳ tham số nào tràn các giới hạn được xác định của nó, nó "mang theo". Ví dụ, nếu
console.log[new Date[null]]; // 1970-01-01T00:00:00.000Z
1 lớn hơn console.log[new Date[null]]; // 1970-01-01T00:00:00.000Z
2 được thông qua, những tháng đó sẽ khiến năm tăng lên; Nếu console.log[new Date[null]]; // 1970-01-01T00:00:00.000Z
3 lớn hơn console.log[new Date[null]]; // 1970-01-01T00:00:00.000Z
4 được thông qua, console.log[new Date[null]]; // 1970-01-01T00:00:00.000Z
5 sẽ tăng tương ứng, v.v. Do đó, console.log[new Date[null]]; // 1970-01-01T00:00:00.000Z
6 sẽ trở lại vào ngày 1 tháng 1 năm 1991; console.log[new Date[null]]; // 1970-01-01T00:00:00.000Z
7 sẽ trở lại 2:05 A.M. Ngày 20 tháng 6 năm 2020.Tương tự, nếu bất kỳ tham số nào sẽ dòng chảy, nó "mượn" từ các vị trí cao hơn. Ví dụ,
console.log[new Date[null]]; // 1970-01-01T00:00:00.000Z
8 sẽ trở lại vào ngày 31 tháng 5 năm 2020.console.log[new Date[null]]; // 1970-01-01T00:00:00.000Z
9Giá trị số nguyên đại diện cho năm. Các giá trị từ bản đồ
console.log[new Date[null]]; // 1970-01-01T00:00:00.000Z
0 đến console.log[new Date[["2020-06-19", "17:13"]]];
// 2020-06-19T17:13:00.000Z in Chrome, since it recognizes "2020-06-19,17:13"
// "Invalid Date" in Firefox
1 đến các năm console.log[new Date[["2020-06-19", "17:13"]]];
// 2020-06-19T17:13:00.000Z in Chrome, since it recognizes "2020-06-19,17:13"
// "Invalid Date" in Firefox
2 đến console.log[new Date[["2020-06-19", "17:13"]]];
// 2020-06-19T17:13:00.000Z in Chrome, since it recognizes "2020-06-19,17:13"
// "Invalid Date" in Firefox
3. Tất cả các giá trị khác là năm thực tế. Xem ví dụ.console.log[new Date[null]]; // 1970-01-01T00:00:00.000Z
1Giá trị số nguyên đại diện cho tháng, bắt đầu với
console.log[new Date[null]]; // 1970-01-01T00:00:00.000Z
0 cho tháng 1 đến console.log[new Date[null]]; // 1970-01-01T00:00:00.000Z
2 cho tháng 12.console.log[new Date[undefined]]; // Invalid Date
9 Tùy chọnOptionalGiá trị số nguyên đại diện cho ngày của tháng. Mặc định là
console.log[new Date[undefined]]; // Invalid Date
8.console.log[new Date[null]]; // 1970-01-01T00:00:00.000Z
5 Tùy chọnOptionalGiá trị nguyên từ
console.log[new Date[null]]; // 1970-01-01T00:00:00.000Z
0 và Date[]
1 đại diện cho giờ trong ngày. Mặc định là console.log[new Date[null]]; // 1970-01-01T00:00:00.000Z
0.console.log[new Date[null]]; // 1970-01-01T00:00:00.000Z
3 Tùy chọnOptionalGiá trị số nguyên đại diện cho phân đoạn phút của một thời gian. Mặc định là
console.log[new Date[null]]; // 1970-01-01T00:00:00.000Z
0 phút qua giờ.Date[]
5 Tùy chọnOptionalGiá trị số nguyên đại diện cho phân đoạn thứ hai của một thời gian. Mặc định là
console.log[new Date[null]]; // 1970-01-01T00:00:00.000Z
0 giây qua phút.Date[]
7 Tùy chọnOptionalGiá trị số nguyên đại diện cho phân đoạn mili giây của một thời gian. Mặc định là
console.log[new Date[null]]; // 1970-01-01T00:00:00.000Z
0 mili giây trước lần thứ hai.Giá trị trả về
Gọi Date[]
9 [hàm tạo Date[]
] trả về một đối tượng Date
. Nếu được gọi với một chuỗi ngày không hợp lệ hoặc nếu ngày được xây dựng sẽ có dấu thời gian UNIX nhỏ hơn Date
2 hoặc lớn hơn Date
3 mili giây, nó sẽ trả về một đối tượng Date
có phương thức Date
5 trả về chuỗi theo nghĩa đen Date
6.
Gọi hàm Date[]
[không có từ khóa new
] trả về một biểu diễn chuỗi của ngày và giờ hiện tại, chính xác như Date
9 làm. Bất kỳ đối số nào được đưa ra trong lệnh gọi hàm Date[]
[không có từ khóa new
] đều bị bỏ qua; Bất kể nó được gọi với một chuỗi ngày không hợp lệ - hoặc thậm chí được gọi với bất kỳ đối tượng tùy ý hoặc nguyên thủy nào khác làm đối số - nó luôn trả về một biểu diễn chuỗi của ngày và giờ hiện tại.
Ví dụ
Một số cách để tạo đối tượng ngày
Các ví dụ sau đây cho thấy một số cách để tạo ngày JavaScript:
const today = new Date[]
const birthday = new Date['December 17, 1995 03:24:00'] // DISCOURAGED: may not work in all runtimes
const birthday = new Date['1995-12-17T03:24:00'] // This is ISO-8601-compliant and will work reliably
const birthday = new Date[1995, 11, 17] // the month is 0-indexed
const birthday = new Date[1995, 11, 17, 3, 24, 0]
const birthday = new Date[628021800000] // passing epoch timestamp
Vượt qua giá trị không ngày, không chuỗi, không số
Nếu hàm tạo Date[]
được gọi với một tham số không phải là một ví dụ Date
, nó sẽ bị ép buộc nguyên thủy và sau đó kiểm tra xem đó có phải là chuỗi không. Ví dụ: Date[]
4 khác với Date[]
9:
console.log[new Date[undefined]]; // Invalid Date
Điều này là do Date[]
6 đã là nguyên thủy nhưng không phải là một chuỗi, do đó, nó sẽ bị ép buộc đến một số, đó là Date[]
7 và do đó không phải là dấu thời gian hợp lệ. Mặt khác, Date[]
8 sẽ bị ép buộc đến
console.log[new Date[null]]; // 1970-01-01T00:00:00.000Z
0.console.log[new Date[null]]; // 1970-01-01T00:00:00.000Z
Các mảng sẽ được ép buộc vào một chuỗi thông qua new
0, kết hợp các yếu tố với dấu phẩy. Tuy nhiên, chuỗi kết quả cho bất kỳ mảng nào có nhiều hơn một phần tử không phải là chuỗi ngày ISO 8601 hợp lệ, do đó, hành vi phân tích cú pháp của nó sẽ được xác định bằng thực hiện. Không chuyển các mảng cho hàm tạo Date[]
.Do not pass arrays to the Date[]
constructor.
console.log[new Date[["2020-06-19", "17:13"]]];
// 2020-06-19T17:13:00.000Z in Chrome, since it recognizes "2020-06-19,17:13"
// "Invalid Date" in Firefox
Thông số kỹ thuật
Thông số kỹ thuật ngôn ngữ Ecmascript # Sec-Date-Constructor # sec-date-constructor |
Tính tương thích của trình duyệt web
Bảng BCD chỉ tải trong trình duyệt