簡介
Dayjs 是一個輕量級的 JavaScript 時間庫, 號稱是 “Moment.js 的替代品”。Dayjs 跟 Moment.js 非常相似,但是有更小的體積(2KB less)和更快的速度。它是一個簡單易用,功能強大的時間處理工具庫。Dayjs 支持時間格式化、時間戳轉換、時間計算,以及基本的標準時間操作等。
安裝
你可以通過 NPM 安裝 Dayjs:
npm install dayjs --save
如果你想在瀏覽器中使用 Dayjs,可以通過 CDN 引入:
<script src="https://cdn.jsdelivr.net/npm/dayjs"></script>
用法
1、時間格式化
Dayjs 允許格式化時間以顯示所需的值。可以使用以下格式化字符:
- YYYY: 四位數完整年份, 例如 2022
- YY: 兩位數縮寫年份, 例如 22
- MMMM: 完整中文月份, 例如 1月
- MMM: 縮寫中文月份, 例如 1月
- MM: 兩位數帶前導零的月份, 例如 01
- M: 無前導零的月份, 例如 1
- DD: 兩位數帶前導零的日期, 例如 01
- D: 無前導零的日期, 例如 1
- HH: 兩位數帶前導零的小時, 例如 01
- H: 無前導零的小時, 例如 1
- mm: 兩位數帶前導零的分鐘, 例如 01
- m: 無前導零的分鐘, 例如 1
- ss: 兩位數帶前導零的秒數, 例如 01
- s: 無前導零的秒數, 例如 1
Dayjs 提供了一種方法來替換這些格式字符的值。以下是一些常見的示例:
“`javascript
import dayjs from ‘dayjs’;
const now = dayjs();
const timeString = now.format(“YYYY年MM月DD日 HH:mm:ss”);
console.log(timeString);
// 輸出: 2022年01月01日 01:01:01
“`
2、時間戳轉換
Dayjs 也可以將時間戳轉換為日期對象。只需將時間戳傳遞給 Dayjs,然後使用格式化字符獲取格式化值。以下是一個示例:
“`javascript
import dayjs from ‘dayjs’;
const timestamp = 1640999564247;
const date = dayjs(timestamp);
const dateString = date.format(‘YYYY-MM-DD HH:mm:ss’);
console.log(dateString);
// 輸出: 2022-01-01 01:01:04
“`
3、時間計算
Dayjs 也提供了一些簡單易用的時間計算功能,比如減去或添加天數、小時、分鐘等。以下是一些示例:
“`javascript
import dayjs from ‘dayjs’;
// 得到天數差
const date1 = dayjs(‘2022-01-01’);
const date2 = dayjs(‘2022-01-05’);
const diff = date2.diff(date1, ‘day’);
console.log(diff);
// 輸出: 4
// 得到當天凌晨時間戳
const today = dayjs().startOf(‘day’).valueOf();
console.log(today);
// 自定義時間格式
const date3 = dayjs(‘2022-01-01 12:00:00’);
const date4 = date3.add(1, ‘hour’).subtract(30, ‘minute’);
const formattedDate = date4.format(‘YYYY-MM-DD HH:mm:ss’);
console.log(formattedDate);
// 輸出: 2022-01-01 12:30:00
“`
總結
Dayjs 是一個非常實用的 JavaScript 時間處理庫。它支持時間格式化、時間戳轉換、時間計算等基本的時間操作,而且具有輕量、快速等特點。Dayjs 確實是 “Moment.js 的替代品”,對於前端時間處理有很大的幫助。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/312530.html