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:

posted @ 2021-09-15 12:37  Ajanuw  阅读(1473)  评论(0编辑  收藏  举报