1.Day.js的优点
2.开始安装
npm install dayjs
或者
yarn add dayjs
这样就显示成功了。
3.引用
import dayjs from 'dayjs';
或者
const dayjs = require('dayjs');
4.开始使用
普通格式化时间
//格式化时间
//如果要格式化某天时间则dayjs("xxxx-xx-xx xx:xx:xx")
const now = dayjs();
console.log(now.format('YYYY-MM-DD'))
console.log(now.format('YYYY-MM-DD HH:mm:ss'))
console.log(now.format('YYYY年M月D日 dddd'))
//输出
2024-07-05
2024-07-05 10:22:49
2024年7月5日 Friday
获取日期的单个数据
const date = dayjs();
console.log(date)
const year = date.year();
const month = date.month();
const day = date.date();
const hour = date.hour();
const minute = date.minute();
const second = date.second();
console.log(year)
console.log(month)
console.log(day)
console.log(hour)
console.log(minute)
console.log(second)
数据返回为:
模板
- YYYY:4 位数的年份,如 2024
- MMMM:月份的全名,如 January
- MMM:月份的缩写,如 Jan
- DD:2 位数的日期,如 08
- dddd:星期的全名,如 Sunday
- ddd:星期的缩写,如 Sun
- HH:24 小时制的小时数,如 09
- hh:12 小时制的小时数,如 05
- mm:分钟数,如 06
- ss:秒数,如 07
日期比较
const start = dayjs('2024-07-05');
const end = dayjs('2024-08-10');
console.log(end.diff(start, 'day')); // 输出36,表示两个日期之间的天数差
const date1 = dayjs('2024-07-05');
const date2 = dayjs('2024-08-10');
console.log(date1.isBefore(date2)); // 输出 true,表示 date1 在 date2 之前
console.log(date1.isAfter(date2)); // 输出 false,表示 date1 在 date2 之后
console.log(date1.isSame(date2, 'day')); // 输出 false,表示 date1 和 date2 不是同一天
其他转换格式
// 转换为 Unix 时间戳
console.log(dayjs().unix())
// 转换为 JavaScript Date 对象
console.log(dayjs().toDate())
// 转换为 ISO 8601 格式的字符串
console.log(dayjs().toISOString())
//返回
1720147831
Fri Jul 05 2024 10:50:31 GMT+0800 (中国标准时间)
2024-07-05T02:50:31.517Z
日期加减
const date = dayjs();
//加一天
const newDate1 = date.add(1, 'day').format('YYYY-MM-DD HH:mm:ss');
//减一天
const newDate2 = date.subtract(1, 'day').format('YYYY-MM-DD HH:mm:ss');
console.log(newDate1)
console.log(newDate2)
//返回
2024-07-06 10:57:41
2024-07-04 10:57:41
其他
console.log(now.add(1, 'day').format('YYYY-MM-DD')); // 加一天
console.log(now.subtract(1, 'week').format('YYYY-MM-DD')); // 减一周
console.log(now.startOf('month').format('YYYY-MM-DD')); // 月初日期
console.log(now.endOf('month').format('YYYY-MM-DD')); // 月末日期