Ngày và giờ JavaScript

Trong hướng dẫn này, bạn sẽ tìm hiểu về ngày và giờ trong JavaScript với sự trợ giúp của các ví dụ.

Trong JavaScript, ngày và giờ được đại diện bởi Dateđối tượng. Đối Datetượng cung cấp thông tin ngày và giờ và cũng cung cấp các phương pháp khác nhau.

Ngày JavaScript xác định kỷ nguyên EcmaScript đại diện cho mili giây kể từ ngày 1 tháng 1 năm 1970 UTC . Ngày và giờ này giống với kỷ nguyên UNIX (giá trị cơ bản chiếm ưu thế cho các giá trị ngày và giờ do máy tính ghi lại).

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

Có bốn cách để tạo đối tượng ngày tháng.

  • Ngày mới ()
  • Ngày mới (mili giây)
  • Ngày mới (Chuỗi ngày)
  • Ngày mới (năm, tháng, ngày, giờ, phút, giây, mili giây)

Ngày mới ()

Bạn có thể tạo một đối tượng ngày tháng bằng cách sử dụng hàm new Date()tạo. Ví dụ,

 const timeNow = new Date(); console.log(timeNow); // shows current date and time

Đầu ra

 Thứ Hai, ngày 06 tháng 7 năm 2020 12:03:49 GMT + 0545 (Giờ Nepal)

Tại đây, new Date()tạo một đối tượng ngày mới với ngày hiện tại và giờ địa phương.

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

Đối Datetượng chứa một số đại diện cho mili giây kể từ ngày 1 tháng 1 năm 1970 UTC .

new Date(milliseconds)tạo một đối tượng ngày mới bằng cách thêm mili giây vào thời gian bằng không. Ví dụ,

 const time1 = new Date(0); // epoch time console.log(time1); // Thu Jan 01 1970 05:30:00 // 100000000000 milliseconds after the epoch time const time2 = new Date(100000000000) console.log(time2); // Sat Mar 03 1973 15:16:40

Lưu ý : 1000 mili giây tương đương với 1 giây.

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

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

Trong JavaScript, thường có ba định dạng nhập ngày tháng.

Định dạng ngày ISO

Bạn có thể tạo đối tượng ngày tháng bằng cách chuyển các định dạng ngày tháng theo ISO. Ví dụ,

 // ISO Date(International Standard) const date = new Date("2020-07-01"); // the result date will be according to UTC console.log(date); // Wed Jul 01 2020 05:45:00 GMT+0545

Bạn cũng có thể chỉ vượt qua năm và tháng hoặc chỉ năm. Ví dụ,

 const date = new Date("2020-07"); console.log(date); // Wed Jul 01 2020 05:45:00 GMT+0545 const date1 = new Date("2020"); console.log(date1); // Wed Jul 01 2020 05:45:00 GMT+0545

Bạn cũng có thể chuyển thời gian cụ thể cho các ngày ISO.

 const date = new Date("2020-07-01T12:00:00Z"); console.log(date); // Wed Jul 01 2020 17:45:00 GMT+0545

Lưu ý : Ngày và giờ được phân tách bằng chữ T in hoa . Và giờ UTC được xác định với chữ Z viết hoa .

Định dạng ngày ngắn và dài

Hai định dạng ngày khác là định dạng ngày ngắnđịnh dạng ngày dài .

 // short date format "MM/DD/YYYY" const date = new Date("03/25/2015"); console.log(date); // Wed Mar 25 2015 00:00:00 GMT+0545 // long date format "MMM DD YYYY" const date1 = new Date("Jul 1 2020"); console.log(date1); // Wed Jul 01 2020 00:00:00 GMT+0545 // month and day can be in any order const date2 = new Date("1 Jul 2020"); console.log(date2); // Wed Jul 01 2020 00:00:00 GMT+0545 // month can be full or abbreviated. Also month names are insensitive. // comma are ignored const date3 = new Date("July 1 2020"); console.log(date3); // Wed Jul 01 2020 00:00:00 GMT+0545 const date4 = new Date("JULY, 1, 2020"); console.log(date4); // Wed Jul 01 2020 00:00:00

Ngày mới (năm, tháng, ngày, giờ, phút, giây, mili giây)

new Date(year, month,… )tạo một đối tượng ngày mới bằng cách chuyển ngày và giờ cụ thể. Ví dụ,

 const time1 = new Date(2020, 1, 20, 4, 12, 11, 0); console.log(time1); // Thu Feb 20 2020 04:12:11

Đối số được truyền có một thứ tự cụ thể.

Nếu bốn số được chuyển qua, nó đại diện cho năm, tháng, ngày và giờ. Ví dụ,

 const time1 = new Date(2020, 1, 20, 4); console.log(time1); // Thu Feb 20 2020 04:00:00

Tương tự, nếu hai đối số được thông qua, nó đại diện cho năm và tháng. Ví dụ,

 const time1 = new Date(2020, 1); console.log(time1); // Sat Feb 01 2020 00:00:00

Lưu ý : Nếu bạn chỉ truyền một đối số, nó được coi là mili giây. Do đó, bạn phải chuyển hai đối số để sử dụng định dạng ngày này.

Trong JavaScript, các tháng được tính từ 0 đến 11 . Tháng 1 là 0 và tháng 12 là 11 .

Phương thức ngày JavaScript

Có nhiều phương pháp khác nhau có sẵn trong đối tượng Ngày của JavaScript.

phương pháp Sự miêu tả
hiện nay() Trả về giá trị số tương ứng với thời gian hiện tại (số mili giây đã trôi qua kể từ ngày 1 tháng 1 năm 1970 00:00:00 UTC)
getFullYear () Lấy năm theo giờ địa phương
getMonth () Nhận tháng, từ 0 đến 11 theo giờ địa phương
hẹn gặp() Lấy ngày trong tháng (1-31) theo giờ địa phương
getDay () Nhận ngày trong tuần (0-6) theo giờ địa phương
getHours () Nhận giờ từ 0 đến 23 theo giờ địa phương
getMinutes Gets the minute from 0 to 59 according to local time
getUTCDate() Gets the day of the month (1-31) according to universal time
setFullYear() Sets the full year according to local time
setMonth() Sets the month according to local time
setDate() Sets the day of the month according to local time
setUTCDate() Sets the day of the month according to universal time

Example: Date Methods

 const timeInMilliseconds = Date.now(); console.log(timeInMilliseconds); // 1593765214488 const time = new Date; // get day of the month const date = time.getDate(); console.log(date); // 30 // get day of the week const year = time.getFullYear(); console.log(year); // 2020 const utcDate = time.getUTCDate(); console.log(utcDate); // 30 const event = new Date('Feb 19, 2020 23:15:30'); // set the date event.setDate(15); console.log(event.getDate()); // 15 // Only 28 days in February! event.setDate(35); console.log(event.getDate()); // 7

Formatting a Date

Unlike other programming languages, JavaScript does not provide a built-in function for formatting a date.

However, you can extract individual bits and use it like this.

 const currentDate = new Date(); const date = currentDate.getDate(); const month = currentDate.getMonth(); const year = currentDate.getFullYear(); // show in specific format let monthDateYear = (month+1) + '/' + date + '/' + year; console.log(monthDateYear); // 7/3/2020

Note: The above program gives inconsistent length as date and month have single-digit and double-digit.

AutoCorrection in Date Object

When you assign out of range values in the Date object, it auto-corrects itself. For example,

 const date = new Date(2008, 0, 33); // Jan does not have 33 days console.log(date);

Output

 Sat Feb 02 2008

Để tìm hiểu thêm về ngày và giờ trong JavaScript, hãy truy cập Ngày và giờ làm sáng tỏ.

thú vị bài viết...