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

Dấu thời gian JavaScript:Hướng dẫn từng bước

Để có được định dạng dấu thời gian JavaScript, bạn có thể sử dụng Date() đối tượng, giữ thời gian hiện tại ở định dạng dấu thời gian có thể đọc được. Bạn cũng có thể tạo Date() mới các đối tượng có dấu thời gian khác nhau và lấy thời gian Unix hiện tại bằng cách sử dụng getTime() phương pháp.

Quản lý ngày và giờ là một phần quan trọng của lập trình. Ví dụ:trong JavaScript, bạn có thể phải tạo ngày bản quyền động, lịch biểu hoặc danh sách các sự kiện và thời gian của chúng, tất cả đều liên quan đến việc sử dụng ngày / giờ ở một mức độ nào đó.

Để làm việc với thời gian trong JavaScript, bạn có thể sử dụng đối tượng Ngày và các phương pháp liên quan của nó. Đối tượng Date cho phép bạn lưu trữ ngày và giờ, đồng thời định dạng ngày và giờ dựa trên nhu cầu cụ thể của bạn.

Trong hướng dẫn này, chúng ta sẽ khám phá những điều cơ bản về cách tạo dấu thời gian JavaScript bằng cách sử dụng Ngày. Chúng tôi cũng sẽ thảo luận về cách định dạng ngày tháng và dấu thời gian trong JavaScript cũng như cách lấy các giá trị thời gian UTC.

Đối tượng dấu thời gian JavaScript

Đối tượng Date được sử dụng trong JavaScript để lưu trữ ngày và giờ. Không có bất kỳ đối số nào, đối tượng Date sẽ tạo một đối tượng với ngày và giờ hiện tại. Dưới đây là một ví dụ về đối tượng Date đang được sử dụng để lấy ngày và giờ hiện tại:

const currentTime = new Date();

console.log(currentTime);

Trong mã của chúng tôi, chúng tôi khai báo một biến gọi là “currentTime”, chúng tôi gán một đối tượng Date. Sau đó, chúng tôi in biến “currentTime” ra bảng điều khiển. Mã của chúng tôi trả về như sau:

Wed Feb 05 2020 11:18:21 GMT+0000 (Greenwich Mean Time)

Như bạn có thể thấy, mã của chúng tôi đã trả về ngày và giờ hiện tại theo cách mà chúng tôi có thể đọc được. Chúng ta có thể chia nhỏ kết quả của đối tượng Date thành một vài thành phần:

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

  • Ngày:Thứ Tư
  • Tháng:Tháng 2
  • Ngày:14
  • Năm:2020
  • Giờ:11
  • Phút:18
  • Thứ hai:21
  • Múi giờ:GMT + 000 (Giờ chuẩn Greenwich)

Tuy nhiên, trong khi đối tượng date trả về giá trị này, JavaScript hiểu ngày và giờ thông qua Unix time. Unix time là một giá trị đại diện cho số mili giây đã trôi qua kể từ nửa đêm ngày 1 tháng 1 năm 1970 và là tiêu chuẩn chung để lưu trữ thời gian trong lập trình.

Nếu chúng ta muốn truy xuất dấu thời gian Unix JavaScript, chúng ta có thể làm như vậy bằng cách sử dụng phương thức getTime () như sau:

console.log(currentTime.getTime());

Mã của chúng tôi trả về:1580901774643 . Tuy con số này không hấp dẫn như thông tin mà chúng tôi nhận được ở trên, nhưng nó có ý nghĩa hoàn toàn tương tự.

Tạo đối tượng ngày mới từ Dấu thời gian hiện tại

Cho đến nay, chúng ta đã thảo luận về cách tạo đối tượng Ngày dựa trên thời gian hiện tại. Tuy nhiên, chúng ta cũng có thể tạo đối tượng Ngày dựa trên dấu thời gian JavaScript hiện có.

Điều này có thể hữu ích nếu bạn đã có một giá trị ngày, nhưng muốn thao tác với nó bằng đối tượng JS Date. Ví dụ:bạn có thể có dấu thời gian Unix mà bạn muốn xuất hiện trong phiên bản thời gian dạng dài mà chúng tôi đã hiển thị ở trên (dấu thời gian hiển thị ngày, giờ, múi giờ và các thông tin có liên quan khác).

Bạn có thể tạo một đối tượng Ngày mới từ một dấu thời gian hiện có theo một số cách. Bạn có thể sử dụng Ngày để tạo một đối tượng mới dựa trên:

  • Dấu thời gian Unix hiện có (Ngày mới (dấu thời gian))
  • Chuỗi ngày (Ngày mới (chuỗi ngày))
  • Ngày và giờ cụ thể (Ngày mới (năm, tháng, ngày, giờ, phút, giây, mili giây))

Dưới đây là một ví dụ về từng phương pháp trong số các phương pháp này đang hoạt động:

new Date(9231925020);

new Date(“April 17 1970 21:25:25”);

new Date(1970, 3, 17, 21, 25, 25, 0);

Mỗi ví dụ này tạo một đối tượng Ngày sử dụng cùng một thông tin. Vì vậy, nếu chúng ta in ra thời gian bằng cách sử dụng bất kỳ đối tượng ngày tháng nào trong số này và hàm getTime () như chúng ta đã làm trước đó, chúng ta sẽ nhận được phản hồi sau:

Fri Apr 17 1970 21:25:25 GMT+0100 (Greenwich Mean Time)

Cần lưu ý rằng, trong phương pháp cuối cùng — nơi bạn chỉ định năm, tháng, ngày, giờ, phút, giây và mili giây — bất kỳ giá trị nào bị thiếu sẽ được đặt thành 0. Ngoài ra, tháng của chúng tôi được đặt thành “3” vì đối tượng Ngày trong JavaScript đếm lên từ “0” trong nhiều tháng.

Lấy ngày

Bây giờ chúng ta có một đối tượng Date, chúng ta có thể truy xuất bất kỳ phần nào của ngày hoặc giờ mà chúng ta cần. Chúng ta có thể sử dụng các phương thức get trong JavaScript để trả về một số phần nhất định của ngày liên quan đến múi giờ địa phương. Dưới đây là các phương pháp ngày mà chúng tôi có thể sử dụng để truy xuất ngày:

  • Năm:getFullYear ()
  • Tháng:getMonth ()
  • Ngày trong tháng:getDate ()
  • Ngày trong tuần:getDay ()
  • Giờ:getHours ()
  • Phút:getMinutes ()
  • Thứ hai:getSeconds ()
  • Mili giây:getMilliseconds ()

Hãy tạo một đối tượng ngày mới cho ngày 1 tháng 1 năm 2020:

const january2020 = new Date(2020, 1, 1);

Bây giờ, nếu chúng ta sử dụng các phương pháp trên cho năm, tháng và ngày trong tháng, chúng ta sẽ nhận được như sau:

january2020.getFullYear();
// 1980
january2020.getMonth();
1
january2020.getDate();
1

Chúng tôi có thể chạy bất kỳ phương pháp ngày nào mà chúng tôi đã thảo luận trước đó trên dấu thời gian của mình để có được các phần thời gian cụ thể.

Ngoài ra, chúng ta có thể sử dụng đối tượng Date để so sánh thời gian trong JavaScript. Vì vậy, nếu chúng ta muốn xem liệu đó có phải là năm 2020 hay không, chúng ta có thể sử dụng mã sau:

const currentDate = new Date();

if (currentDate.getFullYear() === 2020) {
	console.log("It's 2020!");
} else {
	console.log("It's not 2020!");
}

Vì bài viết này đang được viết là năm 2020 nên mã của chúng tôi trả về:“Đó là năm 2020!” Chúng tôi cũng có thể thực hiện các phương pháp so sánh nâng cao hơn, chẳng hạn như so sánh năm và ngày bằng cách sử dụng cùng một cách tiếp cận như chúng tôi đã làm ở trên.

Phương thức UTC

Các giá trị được trả về bởi các hàm truy xuất ngày tháng mà chúng ta đã thảo luận ở trên sẽ dựa trên cài đặt múi giờ địa phương của bạn. Nếu bạn muốn nhận được dấu thời gian UTC — tính thời gian dựa trên Giờ Phối hợp Quốc tế — bạn nên thêm “UTC” sau từ “get” trong các chức năng trên.

Dưới đây là một ví dụ về các phương thức getHours () và getUTCHours () đang được sử dụng để lấy giờ hiện tại và giờ trong múi giờ UTC:

const currentDate = new Date();

console.log(currentDate.getHours());
console.log(currentDate.getUTCHours());

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

11

11

Mã này in ra cả giờ trong múi giờ hiện tại của bạn và giờ trong múi giờ UTC. Nếu bạn hiện đang ở UTC, những con số này sẽ giống nhau (giống như chúng ở trên).

Sử dụng UTC có thể hữu ích vì đây là tiêu chuẩn được quốc tế chấp nhận và thường được sử dụng khi bạn tạo trang web hoặc ứng dụng phụ thuộc vào nhiều múi giờ.

Kết luận

Thời gian là một phần quan trọng của JavaScript mà bạn có thể gặp phải thường xuyên khi viết mã. Trong hướng dẫn này, chúng ta đã thảo luận về cách tạo đối tượng Date để lưu trữ thời gian hiện tại. Chúng tôi cũng đã thảo luận về cách tạo đối tượng Ngày tùy chỉnh dựa trên dấu thời gian, chuỗi ngày và thời gian cụ thể và chúng tôi đã khám phá các phương pháp truy xuất ngày tích hợp trong JavaScript.

Giờ đây, bạn đã được trang bị các kỹ năng cần thiết để truy xuất và xử lý dấu thời gian trong JavaScript như một chuyên gia!