JavaScript 時間格式化
時間格式化是在前端開發中比較重要的一部分。在大部分的前端開發中,需要將時間按照一定的格式展示給用戶,比如“2021年4月29日 15:30:00”、“2021/4/29 15:30”等。在 JavaScript 中,我們通常使用 Date 類型來表示時間,并通過一些方法將時間格式化為字符串。
將時間格式化為常見的格式
JavaScript 提供了一個 toLocaleString() 方法,可以將時間格式化為當前語言地區的標準時間格式,如下所示:
let now = new Date(); console.log(now.toLocaleString()); // 輸出形如“2021/4/29 下午3:30:00”的時間字符串
toLocaleString() 方法還可以接收兩個參數,分別是語言和選項,可以更加細化地控制時間格式,如下所示:
let now = new Date(); console.log(now.toLocaleString("zh-CN", { hour12: false } )); // 輸出形如“2021/4/29 15:30:00”的時間字符串,小時為 24 小時制
除了 toLocaleString() 方法,還可以使用其它方法將時間格式化,如下所示:
let now = new Date(); console.log(now.getFullYear() + "/" + (now.getMonth() + 1) + "/" + now.getDate() + " " + now.getHours() + ":" + now.getMinutes() + ":" + now.getSeconds()); // 輸出形如“2021/4/29 15:30:00”的時間字符串
格式化時間庫 Moment.js
Moment.js 是 JavaScript 中的一種時間處理庫,它提供了豐富的 API,方便開發者將時間格式化為各種需要的格式。
要使用 Moment.js,首先需要在 HTML 中引入它:
<script src="https://cdn.bootcdn.net/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
接著,就可以使用 Moment.js 提供的方法來格式化時間了,如下所示:
let now = moment(); console.log(now.format("YYYY-MM-DD HH:mm:ss")); // 輸出形如“2021-04-29 15:30:00”的時間字符串
在 format() 方法中,可以通過字符序列來定義時間格式。下面是一些常用的字符序列:
- YYYY:年份,比如 2021
- MM:月份,比如 01 表示 1 月
- DD:日期,比如 01 表示 1 日
- HH:小時,比如 03 表示凌晨 3 點
- mm:分鐘,比如 10 表示 10 分鐘
- ss:秒數,比如 25 表示 25 秒
總結
JavaScript 中時間格式化的方法有很多,可以使用 toLocaleString() 方法將時間格式化為當前語言地區的標準時間格式,也可以使用其它方法手動拼接字符串。如果需要更加豐富的時間格式化方式,可以使用 Moment.js 時間處理庫。