Computer >> Máy Tính >  >> Lập trình >> Javascript

Ngày và giờ JavaScript:Hướng dẫn cho người mới bắt đầu

Không có cách nào thoát khỏi đồng hồ, đặc biệt là trong lập trình. Cũng giống như chúng ta dựa vào đồng hồ và đồng hồ để theo dõi ngày của mình, các chương trình cũng sử dụng các công cụ theo dõi thời gian để biết điều gì sẽ xảy ra và khi nào.

Một số ứng dụng cần theo dõi thời gian. Ứng dụng blog cần ghi nhớ thời điểm bài viết được tạo, trong khi ứng dụng lịch hiển thị các sự kiện đã lên lịch của bạn.

Trong hướng dẫn này, chúng tôi thảo luận về cách làm việc với ngày và giờ trong JavaScript. Chúng tôi sẽ hướng dẫn bạn một vài ví dụ để minh họa cách làm việc với những công cụ này.

Đối tượng ngày JavaScript là gì?

Để làm việc với thời gian trong JavaScript, chúng tôi sử dụng đối tượng Ngày. Đây là một đối tượng đặc biệt lưu trữ ngày và giờ. Hơn nữa, đối tượng Ngày đi kèm với một loạt các phương pháp mà chúng tôi có thể sử dụng để truy xuất các phần thông tin cụ thể về ngày và giờ.

Đối tượng ngày trông giống như sau:

new Date();

Trong hướng dẫn này, bạn sẽ nhận thấy Ngày được viết hoa. Điều này là do Ngày là một đối tượng JavaScript được tích hợp sẵn. Bạn phải viết hoa từ Date để làm việc với đối tượng date.

Cách sử dụng đối tượng ngày

Không có bất kỳ giá trị nào, đối tượng Date cho chúng ta biết ngày và giờ hiện tại. Điều này được tính toán dựa trên cài đặt hệ điều hành của bạn và có tính đến múi giờ của bạn.

Chúng ta có thể sử dụng đối tượng Date để truy xuất ngày hiện tại, như sau:

81% người tham gia cho biết họ cảm thấy tự tin hơn về triển vọng công việc công nghệ của mình sau khi tham gia một cuộc thi đào tạo. Kết hợp với bootcamp ngay hôm nay.

Sinh viên tốt nghiệp bootcamp trung bình dành ít hơn sáu tháng để chuyển đổi nghề nghiệp, từ khi bắt đầu bootcamp đến khi tìm được công việc đầu tiên của họ.

var currentDate = new Date();
console.log(currentDate);

Mã của chúng tôi trả về một đối tượng Ngày chứa các giá trị sau:

Wed Jun 24 2020 10:49:46 GMT+0100 (British Summer Time)

Như bạn có thể thấy, bài báo này được viết ở Vương quốc Anh vào ngày 24 tháng 6 năm 2020, khi dấu thời gian của chúng tôi hiển thị. Cái hay của đối tượng Date là nó trả về dữ liệu ở định dạng ngày tháng mà con người có thể đọc được để chúng ta dễ hiểu.

Lấy dấu thời gian sử dụng ngày

Con người chúng ta có thể đọc được đoạn mã trên, nhưng có một vấn đề xảy ra — JavaScript hoạt động theo cách khác. Nó diễn giải ngày tháng bằng cách sử dụng dấu thời gian Unix. Dấu thời gian Unix lưu giữ số giây đã trôi qua kể từ ngày 1 tháng 1 năm 1970. Đây là khi thời gian Unix bắt đầu.

Để truy xuất thời gian hiện tại làm dấu thời gian, bạn có thể sử dụng getTime() phương pháp:

var currentDate = new Date();
console.log(currentDate.getTime());

Mã của chúng tôi trả về 1592992393313 , một con số có thể được diễn giải bằng JavaScript.

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

Giá trị mặc định của đối tượng Date là ngày và giờ hiện tại. Bạn có thể thay đổi điều này để tạo ngày dựa trên dấu thời gian hoặc ngày và giờ cụ thể.

Bạn có thể thực hiện việc này bằng cách chỉ định dấu thời gian, chuỗi ngày hoặc tập hợp số tương ứng với ngày và giờ hiện tại:

  • Ngày mới (dấu thời gian)
  • ngày mới (chuỗi)
  • ngày mới (năm, tháng, ngày, giờ, phút, giây, số mili giây)

Giả sử chúng tôi muốn tạo dấu thời gian cho ngày 1 tháng 1 năm 2021. Chúng tôi có thể làm như vậy bằng cách sử dụng mã này:

var nextYear = new Date("January 1 2021 12:00");
console.log(nextYear);

Mã của chúng tôi trả về:Thứ Sáu, ngày 1 tháng 1 năm 2021 12:00:00 GMT + 0000 (Giờ chuẩn Greenwich)

Chúng tôi cũng có thể đã tạo dấu thời gian này bằng cách sử dụng các dòng mã sau:

var nextYear = new Date(1609502400000);
console.log(nextYear);

var nextYear = new Date(2021, 1, 1, 0, 0, 0, 0);
console.log(nextYear);

Mã của chúng tôi trả về:

Fri Jan 01 2021 12:00:00 GMT+0000 (Greenwich Mean Time)
Fri Jan 01 2021 12:00:00 GMT+0000 (Greenwich Mean Time)

Tất cả các phương thức này đều tạo ra cùng một đối tượng Date.

Lấy ngày

Đối tượng Date đi kèm với một mảng các phương thức tích hợp để truy cập các phần thông tin cụ thể về ngày tháng. Các phương pháp cho phép bạn truy xuất thông tin về ngày bắt đầu bằng get . Đây là danh sách để bạn tham khảo:

  • Năm:getFullYear ()
  • Tháng:getMonth () (từ 0 đến 11, trong đó 0 là tháng 1)
  • Ngày trong tháng:getDate () (từ 1 đến 31)
  • Ngày trong tuần:getDay () (từ 0 đến 6, trong đó Chủ nhật là 0)
  • Giờ:getHours () (từ 0 đến 23, trong đó nửa đêm là 0)
  • Phút:getMinutes ()
  • Thứ hai:getSeconds ()
  • Mili giây:getMilliseconds ()
  • Dấu thời gian:getTime ()

Giả sử chúng tôi muốn tìm hiểu xem bây giờ là mấy giờ. Chúng tôi có thể làm như vậy bằng cách sử dụng mã này:

const currentDate = new Date();
console.log(currentDate.getHours());

Mã của chúng tôi trả về 11 . Điều này cho chúng tôi thấy rằng hiện tại là 11 giờ trong ngày.

Các chức năng này rất hữu ích vì chúng giúp chúng tôi trích xuất các phần thông tin cụ thể về ngày. Chúng tôi không cần phải lo lắng về việc điều khiển bất kỳ chuỗi nào; chúng ta chỉ có thể sử dụng get phương pháp để tìm hiểu thêm về thời gian hiện tại.

Bạn có thể truy xuất dấu thời gian bằng cách sử dụng Phối hợp Giờ Toàn cầu (UTC) bằng cách thêm UTC giữa từ get và giá trị ngày tháng. Theo mặc định, đối tượng Ngày sẽ trả về thông tin theo múi giờ địa phương của người dùng. Nếu bạn đang làm việc với người dùng ở nhiều múi giờ, tốt nhất bạn nên sử dụng UTC để theo dõi các sự kiện thời gian diễn ra dễ dàng.

Cập nhật đối tượng ngày

Các đối tượng ngày tháng có thể được cập nhật bằng cách sử dụng set các phương pháp. Có một set phương pháp cho mọi get phương thức được cung cấp bởi đối tượng Ngày:

  • Năm:setFullYear ()
  • Tháng:setMonth ()
  • Ngày trong tháng:setDate ()
  • Ngày trong tuần:setDay ()
  • Giờ:setHours ()
  • Phút:setMinutes ()
  • Thứ hai:setSeconds ()
  • Mili giây:setMilliseconds ()
  • Dấu thời gian:setTime ()

Giả sử chúng ta muốn tìm hiểu ngày này năm ngoái là ngày thứ mấy trong tuần. Chúng tôi có thể làm như vậy bằng cách đặt năm trên đối tượng Ngày của chúng tôi thành 2019 bằng cách sử dụng setFullYear() . Sau đó, chúng ta có thể sử dụng getDay() để truy xuất ngày trong tuần:

const currentDate = new Date();
currentDate.setFullYear(2019);

const daysOfTheWeek = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', Saturday', Sunday'];
const dayLastYear = currentDate.getDay();

console.log('On this day last year it was ' + daysOfTheWeek[dayLastYear]);

Mã của chúng tôi trả về:Vào ngày này năm ngoái, đó là thứ Ba.

Đầu tiên chúng tôi sử dụng Date() để lấy ngày hiện tại. Sau đó, chúng tôi sử dụng setFullYear() phương pháp để đặt năm trên đối tượng ngày của chúng tôi là 2019.

Tiếp theo, chúng tôi khai báo một mảng có tên là daysOfTheWeek . Điều này giúp chúng tôi chuyển đổi số được trả về bởi getDay() vào một ngày trong tuần.

Sau đó, chúng tôi sử dụng getDay() để tìm ra ngày này là ngày nào trong tuần trong năm 2019. Sau đó, chúng tôi in ra thông báo On this day last year it was tiếp theo là ngày trong tuần.

Kết luận

Sử dụng đối tượng Ngày, bạn có thể làm việc với ngày và giờ trong JavaScript. Đối tượng Ngày đi kèm với một phạm vi get các phương pháp giúp bạn tìm hiểu về thời gian hiện tại và set các phương pháp để thao tác với các đối tượng ngày và giờ. Bây giờ, bạn đã sẵn sàng để bắt đầu làm việc với ngày và giờ trong JavaScript như một chuyên gia!