在 JavaScript 中獲取時間戳

Ammar Ali 2023年10月12日
在 JavaScript 中獲取時間戳

你可以使用 JavaScript 中的 Date.now() 函式來獲取時間戳。本教程演示了使用 Date.now() 函式的過程,你可以將其作為指南。

使用 JavaScript 中的 Date.now() 函式獲取時間戳

我們可以使用 Date.now() 函式在 JavaScript 中以毫秒為單位獲取時間戳。Date.now() 函式返回自 01-01-1970 以來經過的毫秒數。例如,讓我們使用 JavaScript 中的 Date.now() 函式計算傳遞的毫秒數。請參考下面的程式碼。

var t = Date.now();
console.log(t);

輸出:

1622872385158

輸出顯示自 1970 年 1 月 1 日 00:00:00 UTC 以來經過的毫秒數。讓我們將時間轉換為秒和年,並使用 console.log() 函式將其顯示在控制檯上。請參考下面的程式碼。

var t = Date.now();
console.log(t);
var time = Date.now();
var timeInSeconds = Math.floor(time / 1000);
var timeInYears = Math.floor(timeInSeconds / (60 * 60 * 24 * 365));
console.log('Time Passed Since January 1, 1970 00:00:00 UTC');
console.log('Time In Seconds =', timeInSeconds, 's');
console.log('Time in Years = ', timeInYears, 'Years')

輸出:

Time Passed Since January 1, 1970 00:00:00 UTC
Time In Seconds = 1622872385 s
Time in Years =  51 Years

正如你在輸出中看到的,自 1970 年以來已經過去了 51 年;這意味著我們目前生活在 2021 年。同樣,我們也可以使用轉換公式找到當前的月份、日期和時間。Date.now() 函式通常用於查詢程式或程式碼段執行所需的時間。你可以在程式碼的開始和結束處找到時間並評估時差。例如,讓我們找出上面程式碼執行所花費的時間。請參考下面的程式碼。

var time = Date.now();
var timeInSeconds = Math.floor(time / 1000);
var timeInYears = Math.floor(timeInSeconds / (60 * 60 * 24 * 365));
console.log('Time Passed Since January 1, 1970 00:00:00 UTC');
console.log('Time In Seconds =', timeInSeconds, 's');
console.log('Time in Years = ', timeInYears, 'Years')
var newtime = new Date().getTime();
var timepassed = newtime - time;
console.log('Time Taken By this Code to Run =', timepassed, 'ms');

輸出:

Time Passed Since January 1, 1970 00:00:00 UTC
Time In Seconds = 1622872385 s
Time in Years =  51 Years
Time Taken By this Code to Run = 1 ms

在輸出中,這段程式碼所用的時間是 1 毫秒。在這裡,你可以使用 Date.now() 函式來檢查不同函式的效能。在上面的程式中,我們使用 Math.floor() 函式將浮點數轉換為整數。你還可以使用按位運算子(如按位 NOT ~~)將浮點數轉換為整數。按位運算子比 Math.floor() 函式稍快,但它們可能不適用於長數。

作者: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

相關文章 - JavaScript Time