dayjs 使用笔记
全局配置 local 和 插件,通常在你的入口函数中调用
import dayjs from "dayjs";
import weekday from "dayjs/plugin/weekday";
import "dayjs/locale/zh-cn";
// config dayjs
dayjs.extend(weekday);
dayjs.locale('zh-cn')
这周
// 设置了zh-cn 一周的开始指向了星期一,而不是星期日
// startOf('day') 将时间指向了 00:00
const start = dayjs().weekday(0).startOf("day");
// dayjs 默认生成现在的时间
const end = dayjs();
// 将dayjs对象格式化为字符串
const range = [start.format(), end.format()];
这个月
// 这个月一号0时0分
const start = dayjs().startOf("M");
const end = dayjs();
const range = [start.format(), end.format()];
最近三个月
// 从当前时间减去2个月,然后获取那个月的第一天0时0分
const start = dayjs().subtract(2, "M") .startOf("M");
const end = dayjs();
增加时间
dayjs('2000-1-1 11:00:00') .add(2, 'h') .format("YYYY-MM-DD hh:mm:ss") // 2000-01-01 01:00:00
dayjs('2000-1-1 11:00:00') .add(2, 'h') .format("YYYY-MM-DD HH:mm:ss") // 2000-01-01 13:00:00
时间比较
const date1 = dayjs();
const date2 = dayjs().add(1, 'h');
// date1 在 date2 之前 (date1 < date2)
date1.isBefore( date2 ) // true
console.log(dayjs(Date.now() + 1000).diff(dayjs(Date.now()))); // 结果大于 0
console.log(dayjs(Date.now()).diff(dayjs(Date.now() + 1000))); // 结果小于 0
const d = Date.now();
console.log(dayjs(d).diff(dayjs(d))); // 结果等于 0
dayjs().diff( dayjs().subtract(2, "hour"), "minute" ); // 结果为 `119` 分钟
设置时区
import dayjs from "dayjs";
import "dayjs/locale/zh-cn";
import utc from "dayjs/plugin/utc";
import timezone from "dayjs/plugin/timezone";
dayjs.locale("zh-cn");
dayjs.extend(utc);
dayjs.extend(timezone);
// 将utc格式化为Asia/Shanghai时区
dayjs(datetime).tz("Asia/Shanghai").format("YYYY-MM-DD HH:mm:ss")
See alse: