JavaScript 中格式化日期
-
在 JavaScript 中使用
toTimeString()
格式化 JavaScript 資料 -
在 JavaScript 中使用
toUTCString()
格式化 JavaScript 資料 -
在 JavaScript 中使用
toDateString()
格式化 JavaScript 資料 -
在 JavaScript 中使用
toLocaleString()
格式化 JavaScript 資料 -
在 JavaScript 中使用
toLocaleTimeString()
格式化 JavaScript 資料 - 在 JavaScript 中使用自定義函式格式化日期
-
將
Moment.js
包與Node.js
一起使用以格式化 JavaScript 中的日期 -
將
dateformat
包與Node.js
一起使用
本教程說明了如何格式化 JavaScript 日期。
我們可以使用 JavaScript Date
物件獲取當前日期和時間。我們可以通過編寫自己的自定義函式並使用諸如 moment.js
之類的庫來格式化日期。
首先,我們使用 Date
物件建立一個名為 date
的變數,以獲取當前日期和時間。
var date = new Date();
我們將顯示應用於該變數的所有格式化函式的結果。
在 JavaScript 中使用 toTimeString()
格式化 JavaScript 資料
toTimeString()
有助於從 date 變數中僅提取包含有關時間資訊的字串。
var date = new Date();
result = date.toTimeString();
console.log(result);
輸出:
"20:07:37 GMT+0100 (Central European Standard Time)"
在 JavaScript 中使用 toUTCString()
格式化 JavaScript 資料
此方法從變數中儲存的當前國家/地區的時間返回格林威治標準時間或世界標準時間。
var date = new Date();
result = date.toUTCString();
console.log(result);
輸出:
"Thu, 18 Mar 2021 19:09:40 GMT"
在 JavaScript 中使用 toDateString()
格式化 JavaScript 資料
此方法提取日期並以字串形式返回它。
var date = new Date();
result = date.toDateString();
console.log(result);
輸出:
"Thu Mar 18 2021"
在 JavaScript 中使用 toISOString()
格式化 JavaScript 資料
它以 ISO 8601 格式返回包含日期/時間的字串。
var date = new Date();
result = date.toISOString();
console.log(result);
輸出:
"2021-03-18T19:11:35.957Z"
在 JavaScript 中使用 toLocaleString()
格式化 JavaScript 資料
它將使用語言環境設定將日期物件轉換為字串。
var date = new Date();
result = date.toLocaleString();
console.log(result);
輸出:
"3/18/2021, 8:13:03 PM"
在 JavaScript 中使用 toLocaleTimeString()
格式化 JavaScript 資料
它將日期物件轉換為字串,但只提取時間,使用本地設定。
var date = new Date();
result = date.toLocaleTimeString();
console.log(result);
輸出:
"8:14:22 PM"
在 JavaScript 中使用自定義函式格式化日期
日期格式 dd-mm-yyyy
或 dd-mm-yyyy
及類似格式
我們使用 getDate()
、getMonth()
和 getFullYear()
方法來獲取日期的各個部分,並使用所需的符號和所需的順序將其連線起來。
例如,我們可以通過編寫下面的自定義函式來獲得 dd/mm/yyyy
、dd-mm-yyyy
和 mm/yyyy
等任何我們喜歡的方式。
var date = new Date();
const formatDate = (date) => {
let formatted_date =
date.getDate() + '-' + (date.getMonth() + 1) + '-' + date.getFullYear()
return formatted_date;
} console.log(formatDate(date));
輸出:
"18-3-2021"
我們還可以在日期字串中放入月份名稱,例如 January
,February
,March
。
var date = new Date();
const months = [
'JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN', 'JUL', 'AUG', 'SEP', 'OCT', 'NOV',
'DEC'
];
const formatDate = (date) => {
let formatted_date =
date.getDate() + '-' + months[date.getMonth()] + '-' + date.getFullYear()
return formatted_date;
} console.log(formatDate(date));
輸出:
"18-MAR-2021"
日期格式 yyyy-mm-dd hh:mm:ss
和類似的格式
我們使用所有方法 getDate()
,getMonth()
和 getFullYear()
,getHour()
,getminutes()
,getsecond()
來分別獲取日期和時間的各個部分,以及使用我們想要的符號和我們想要的順序將它們連線起來。
var date = new Date();
const formatDate =
(current_datetime) => {
let formatted_date = current_datetime.getFullYear() + '-' +
(current_datetime.getMonth() + 1) + '-' + current_datetime.getDate() +
' ' + current_datetime.getHours() + ':' +
current_datetime.getMinutes() + ':' + current_datetime.getSeconds();
return formatted_date;
}
console.log(formatDate(date));
輸出:
"2021-3-18 20:21:2"
將 Moment.js
包與 Node.js
一起使用以格式化 JavaScript 中的日期
它被認為是 JavaScript 中最好的日期和時間庫。它簡單易用,不需要記住並構建所有這些不同的功能。使用者可以根據自己的格式需求輕鬆編寫字串模板。
const moment = require('moment');
let m = moment();
m.format('[Time: ] h:mm:ss a'); // output of the form `Time: 11:39:03 pm`
上面的程式碼演示了 moment.js 允許我們使用 Node REPL 格式化日期和時間的方式之一。
將 dateformat
包與 Node.js
一起使用
另一個像 Moment.js
一樣的軟體包可以幫助我們格式化日期。它可以與 Node.js
和瀏覽器端 JavaScript
一起使用。它通過包含 .format()
方法來擴充套件 Date 物件。
瀏覽器端
Day = new Date();
Day.format('dd-m-yy'); // Returns '16-3-21'
上面的程式碼顯示了將 dateformat
包與 Date 物件一起使用的簡便性。
Node.js
const dateformat = require('dateformat');
let now = new Date();
dateformat(now, 'dddd, mmmm dS, yyyy, h:MM:ss TT'); // returns 'Tuesday, March
// 16th, 2021, 11:32:08 PM'
上面的程式碼演示瞭如何使用 dateformat
包通過 Node REPL 格式化日期。
Harshit Jindal has done his Bachelors in Computer Science Engineering(2021) from DTU. He has always been a problem solver and now turned that into his profession. Currently working at M365 Cloud Security team(Torus) on Cloud Security Services and Datacenter Buildout Automation.
LinkedIn