Hướng dẫn how do you declare a new date in javascript? - làm thế nào để bạn khai báo một ngày mới trong javascript?


Đối tượng ngày JavaScript Hãy để chúng tôi làm việc với ngày:Date Objects let us work with dates:

Ghi chú

Đối tượng ngày là tĩnh. "Đồng hồ" không phải là "chạy".

Đồng hồ máy tính đang đánh dấu, các đối tượng ngày không.


Đầu ra ngày JavaScript

Theo mặc định, JavaScript sẽ sử dụng múi giờ của trình duyệt và hiển thị ngày làm chuỗi văn bản đầy đủ:

Bạn sẽ tìm hiểu nhiều hơn về cách hiển thị ngày, sau này trong hướng dẫn này.


Tạo đối tượng ngày

Các đối tượng ngày được tạo với hàm tạo new Date().

Có 9 cách để tạo một đối tượng ngày mới:9 ways to create a new date object:

Ngày mới () ngày mới (chuỗi ngày)
new Date(date string)

Ngày mới (năm, tháng) Ngày mới (năm, tháng, ngày) Ngày mới (năm, tháng, ngày, giờ) Ngày mới (năm, tháng, ngày, giờ, phút) ngày mới (năm, tháng, ngày, giờ , phút, giây) Ngày mới (năm, tháng, ngày, giờ, phút, giây, MS)
new Date(year,month,day)
new Date(year,month,day,hours)
new Date(year,month,day,hours,minutes)
new Date(year,month,day,hours,minutes,seconds)
new Date(year,month,day,hours,minutes,seconds,ms)

Ngày mới (mili giây)


JavaScript Ngày mới ()

new Date() Tạo một đối tượng ngày với ngày và giờ hiện tại:current date and time:


Ngày mới (chuỗi ngày)

new Date(date string) Tạo một đối tượng ngày từ chuỗi ngày:date string:

Các định dạng chuỗi ngày được mô tả trong chương tiếp theo.


Ngày mới (năm, tháng, ...)

new Date(year, month, ...) tạo ra một đối tượng ngày với một ngày và giờ được chỉ định.specified date and time.

7 số chỉ định năm, tháng, ngày, giờ, phút, thứ hai và mili giây (theo thứ tự đó):

Ghi chú

JavaScript số tháng từ 0 đến 11:0 to 11:

Tháng một = 0..

Tháng 12 = 11..

Chỉ định một tháng cao hơn 11, sẽ không dẫn đến lỗi nhưng thêm tràn vào năm tới:

Specifying:

const d = ngày mới (2018, 15, 24, 10, 33, 30);

Hãy tự mình thử »

Giống như:

const d = ngày mới (2019, 3, 24, 10, 33, 30);

Hãy tự mình thử »

Giống như:

Specifying:

const d = ngày mới (2019, 3, 24, 10, 33, 30);

Giống như:

const d = ngày mới (2019, 3, 24, 10, 33, 30);

Hãy tự mình thử »


Giống như:

const d = ngày mới (2019, 3, 24, 10, 33, 30);

Chỉ định một ngày cao hơn tối đa, sẽ không dẫn đến lỗi nhưng thêm tràn vào tháng tiếp theo:

const d = ngày mới (2018, 5, 35, 10, 33, 30);

const d = ngày mới (2018, 6, 5, 10, 33, 30);

Sử dụng các số 6, 4, 3 hoặc 2

6 số chỉ định năm, tháng, ngày, giờ, phút, thứ hai:


5 số chỉ định năm, tháng, ngày, giờ và phút:

4 số chỉ định năm, tháng, ngày và giờ:


3 số chỉ định năm, tháng và ngày:

2 số chỉ định năm và tháng:

Bạn không thể bỏ qua tháng. Nếu bạn chỉ cung cấp một tham số, nó sẽ được coi là mili giây..

Thế kỷ trước

Một và hai năm sẽ được hiểu là 19XX: milliseconds past January 01, 1970


Cửa hàng JavaScript ngày là mili giây

Các cửa hàng JavaScript có ngày là số mili giây kể từ ngày 01 tháng 1 năm 1970.milliseconds plus zero time:

Không có thời gian là ngày 01 tháng 1 năm 1970 00:00:00 UTC.

Một ngày (24 giờ) là 86 400 000 mili giây.plus 100 000 000 000 milliseconds is:

Bây giờ là thời điểm là: mili giây trước ngày 01 tháng 1 năm 1970

Hãy tự mình thử »

Giống như:minus 100 000 000 000 milliseconds is:

const d = ngày mới (2019, 3, 24, 10, 33, 30);

Hãy tự mình thử »

Giống như:pluss 24 hours is:

const d = ngày mới (2019, 3, 24, 10, 33, 30);
// or
const d = new Date(86400000);

Hãy tự mình thử »

Giống như:pluss 0 milliseconds is:

const d = ngày mới (2019, 3, 24, 10, 33, 30);

Hãy tự mình thử »



Giống như:

const d = ngày mới (2019, 3, 24, 10, 33, 30);methods allow you to operate on it.

Chỉ định một ngày cao hơn tối đa, sẽ không dẫn đến lỗi nhưng thêm tràn vào tháng tiếp theo:

const d = ngày mới (2018, 5, 35, 10, 33, 30);


const d = ngày mới (2018, 6, 5, 10, 33, 30);

Sử dụng các số 6, 4, 3 hoặc 2

6 số chỉ định năm, tháng, ngày, giờ, phút, thứ hai:

5 số chỉ định năm, tháng, ngày, giờ và phút:

4 số chỉ định năm, tháng, ngày và giờ:

3 số chỉ định năm, tháng và ngày:

2 số chỉ định năm và tháng:

Bạn không thể bỏ qua tháng. Nếu bạn chỉ cung cấp một tham số, nó sẽ được coi là mili giây.

Thế kỷ trước

Một và hai năm sẽ được hiểu là 19XX:


Trình xây dựng

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
4 có thể tạo một thể hiện
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 hoặc trả về một chuỗi đại diện cho thời gian hiện tại.
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
4
constructor can create a
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 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 ý:

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
4 có thể được gọi có hoặc không 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
7, nhưng với các hiệu ứng khác nhau. Xem giá trị trả về.
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
4 can be called with or without
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, 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

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
4:

Không có tham số

Khi không có tham số nào được cung cấp, đối tượng

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 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

console.log(new Date(undefined)); // Invalid Date
0

Mộ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

console.log(new Date(undefined)); // Invalid Date
1

Mộ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

console.log(new Date(undefined)); // Invalid Date
2. .

Lưu ý: Khi các chuỗi ngày phân tích phân tích với hàm tạo

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 (và
console.log(new Date(undefined)); // Invalid Date
4, 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 (
console.log(new Date(undefined)); // Invalid Date
5)-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
5 constructor (and
console.log(new Date(undefined)); // Invalid Date
4, they are equivalent), always make sure that the input conforms to the ISO 8601 format (
console.log(new Date(undefined)); // Invalid Date
5) — 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ụ:

console.log(new Date(undefined)); // Invalid Date
6) được coi là UTC, trong khi các chuỗi thời gian (ví dụ:
console.log(new Date(undefined)); // Invalid Date
7) đượ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

console.log(new Date(undefined)); // Invalid Date
8

Một đối tượng

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 hiện có. Điều này có hiệu quả tạo ra một bản sao của đối tượng
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 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(null)); // 1970-01-01T00:00:00.000Z
1, ngoại trừ phương pháp
console.log(new Date(null)); // 1970-01-01T00:00:00.000Z
2 không được gọi.

Khi một tham số được chuyển đến hàm tạo

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
4, các trường hợp
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 đượ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

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
4 này trả về một đối tượng
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 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(null)); // 1970-01-01T00:00:00.000Z
7 cho
console.log(new Date(null)); // 1970-01-01T00:00:00.000Z
8 và
console.log(new Date(null)); // 1970-01-01T00:00:00.000Z
9 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(["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
0 lớn hơ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 được thông qua, những tháng đó sẽ khiến năm tăng lên; Nếu
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 lớn hơ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 được thông qua,
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
4 sẽ tăng tương ứng, v.v. Do đó,
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
5 sẽ trở lại vào ngày 1 tháng 1 năm 1991;
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
6 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(["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
7 sẽ trở lại vào ngày 31 tháng 5 năm 2020.

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
8

Giá 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
9 đến new Date()0 đến các năm new Date()1 đến new Date()2. Tất cả các giá trị khác là năm thực tế. Xem ví dụ.

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
0

Giá 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
9 cho tháng 1 đế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 cho tháng 12.

console.log(new Date(null)); // 1970-01-01T00:00:00.000Z
8 Tùy chọnOptional

Giá trị số nguyên đại diện cho ngày của tháng. Mặc định là

console.log(new Date(null)); // 1970-01-01T00:00:00.000Z
7.

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
4 Tùy chọnOptional

Giá trị nguyên từ

console.log(new Date(null)); // 1970-01-01T00:00:00.000Z
9 đến new Date()0 đại diện cho giờ trong ngày. Mặc định là
console.log(new Date(null)); // 1970-01-01T00:00:00.000Z
9.

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 Tùy chọnOptional

Giá 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
9 phút qua giờ.

new Date()4 Tùy chọnOptional

Giá 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
9 giây qua phút.

new Date()6 Tùy chọnOptional

Giá 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
9 mili giây trước lần thứ hai.

Giá trị trả về

Gọi new Date() (hàm tạo

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
4) trả về một đối tượng
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. Nếu được gọi với 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 new Date(date string)1 hoặc lớn hơn new Date(date string)2 mili giây, nó sẽ trả về một đối tượng
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 có 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
0 trả về chuỗi theo nghĩa đen new Date(date string)5.

Gọi hàm

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
4 (không có từ khóa
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) 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ư new Date(date string)8 làm. Bất kỳ đối số nào được đưa ra trong lệnh gọi hàm
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
4 (không có từ khóa
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) đề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

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
4 được gọi với một tham số không phải là một 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
5, 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ụ: new Date(year, month, ...)3 khác với new Date():

console.log(new Date(undefined)); // Invalid Date

Điều này là do new Date(year, month, ...)5 đã 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à new Date(year, month, ...)6 và do đó không phải là dấu thời gian hợp lệ. Mặt khác, new Date(year, month, ...)7 sẽ bị ép buộc

console.log(new Date(null)); // 1970-01-01T00:00:00.000Z
9.

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 Date(year, month, ...)9, 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

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
4.Do not pass arrays to 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
4 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

Sự chỉ rõ
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

Xem thêm

Ngày mới () trong JavaScript là gì?

Trình xây dựng ngày mới () trong JavaScript, các đối tượng ngày được tạo bằng ngày mới (). Ngày mới () trả về một đối tượng ngày với ngày và giờ hiện tại.returns a date object with the current date and time.

Ngày mới () trở lại là gì?

Trả về giá trị gọi hàm ngày () (không có từ khóa mới) 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ư ngày mới (). ToString () không.a string representation of the current date and time, exactly as new Date().toString() does.

Bạn có thể thêm ngày trong JavaScript không?

Bạn có thể chỉ cần sử dụng phương thức setDate () để thêm số ngày vào ngày hiện tại bằng JavaScript.Cũng lưu ý rằng, nếu giá trị ngày nằm ngoài phạm vi giá trị ngày trong tháng, setDate () sẽ cập nhật cho đối tượng ngày phù hợp (ví dụ: nếu bạn đặt 32 cho tháng 8, nó sẽ trở thành ngày 01 tháng 9).use the setDate() method to add number of days to current date using JavaScript. Also note that, if the day value is outside of the range of date values for the month, setDate() will update the Date object accordingly (e.g. if you set 32 for August it becomes September 01).

JavaScript nhận ngày mới ở đâu?

Trong JavaScript, chúng ta có thể dễ dàng nhận được ngày hoặc giờ hiện tại bằng cách sử dụng đối tượng ngày mới ().Theo mặc định, nó sử dụng múi giờ của trình duyệt của chúng tôi và hiển thị ngày dưới dạng chuỗi văn bản đầy đủ, chẳng hạn như "Thứ Sáu 17 tháng 6 năm 2022 10:54:59 GMT+0100 (Thời gian mùa hè của Anh)" có chứa ngày, thời gian và thời gian hiện tạivùng.using the new Date() object. By default, it uses our browser's time zone and displays the date as a full text string, such as "Fri Jun 17 2022 10:54:59 GMT+0100 (British Summer Time)" that contains the current date, time, and time zone.