Day.js
安装
npm install dayjs -S
基础
创建对象
创建day.js对象,相当于 new Date()
简单创建
var now = dayjs(); // 当前时间
dayjs(1318781876406); // unix时间戳(毫秒)
dayjs.unix(1318781876); // unix时间戳(秒)
var date = new Date(2023, 0, 1)
dayjs(date); // Date实例
解析创建
dayjs.extend(customParseFormat);
// 定义字符串解析
dayjs("12-25-1", "MM-DD-YYYY");
// 对象值解析
dayjs.extend(objectSupport)
dayjs.utc({ y:2010, M:3, d:5, h:15, m:10, s:3, ms: 123});
dayjs({ years:2010, months:3, date:5, hours:15, minutes:10, seconds:3, milliseconds:123});
// 数组解析
dayjs.extend(arraySupport)
dayjs([2010, 1, 14, 15, 25, 50, 125]);
dayjs.utc([2010, 1, 14, 15, 25, 50, 125]);
克隆
dayjs().clone(); // clone方法
dayjs(dayjs()); // 基于一个day.js对象
有效性
dayjs('xixi').isValid(); // false
国际化
import 'dayjs/locale/zh-cn';
dayjs.locale('zh-cn');
转换
转时间戳
import dayjs from 'dayjs';
// 插件
import advancedFormat from 'dayjs/plugin/advancedFormat';
dayjs.extend(advancedFormat);
dayjs().format('x'); // string类型
// number类型
dayjs().valueOf();
+dayjs();
Number(dayjs());
计算
相对信息
// 计算传入时间相对当前时间的信息
import relativeTime from 'dayjs/plugin/relativeTime';
dayjs.extend(relativeTime);
export function getRelativeTimeString(dateTime) {
return dayjs(dateTime).toNow().replace('内', '前');
}
时长(Duration)
创建时长
dayjs.extend(duration)
dayjs.duration(30000); // 毫秒数
dayjs.duration(3, 'days'); // 时间单位
dayjs.duration({ seconds: 60, minutes: 30, hours: 4 }); // 对象
format
dayjs.duration(24, 'hours').format('HH:mm:ss')