Day.js基础用法超详细举例讲解_javascript技巧
是一个轻量级的 JavaScript 日期处理库,API 设计与 Moment.js 高度兼容,但体积仅有 2KB 左右。它支持链式调用、不可变数据、插件扩展等特性,非常适合现代前端项目。
Day.js 支持多种方式创建日期对象:
import dayjs from 'dayjs';// 当前时间const now = dayjs();// 指定日期字符串(支持多种格式)const d1 = dayjs('2024-06-01');const d2 = dayjs('2024/06/01 12:30:00');// 指定时间戳(毫秒)const d3 = dayjs(1717200000000);// 通过原生 Date 对象const d4 = dayjs(new Date());// 通过数组(不推荐,Day.js 不直接支持)
注意:
使用 .format()
方法自定义日期输出:
const date = dayjs('2024-06-01 15:30:45');console.log(date.format('YYYY-MM-DD HH:mm:ss')); // 2024-06-01 15:30:45console.log(date.format('dddd, MMMM D, YYYY')); // Saturday, June 1, 2024console.log(date.format('YYYY年M月D日')); // 2024年6月1日
常用格式化符号:
Day.js 默认只支持 ISO 8601 格式和部分常见格式。如果需要解析自定义格式,需引入 customParseFormat 插件:
const date = dayjs('2024-06-01 15:30:45');console.log(date.year()); // 2024console.log(date.month()); // 5 (注意:0 表示 1 月)console.log(date.date()); // 1console.log(date.day()); // 6 (0 表示周日)console.log(date.hour()); // 15console.log(date.minute()); // 30console.log(date.second()); // 45
const date = dayjs('2024-06-01 15:30:45');console.log(date.valueOf()); // 毫秒时间戳console.log(date.unix()); // 秒时间戳console.log(date.toDate()); // 转为原生 Date 对象
console.log(dayjs('2024-02-29').isValid()); // trueconsole.log(dayjs('2023-02-29').isValid()); // false// 判断闰年(需引入 isLeapYear 插件)import isLeapYear from 'dayjs/plugin/isLeapYear';dayjs.extend(isLeapYear);console.log(dayjs('2024-01-01').isLeapYear()); // true
console.log(dayjs().startOf('month').format('YYYY-MM-DD')); // 月初console.log(dayjs().endOf('month').format('YYYY-MM-DD')); // 月末console.log(dayjs().startOf('year').format('YYYY-MM-DD')); // 年初console.log(dayjs().endOf('year').format('YYYY-MM-DD')); // 年末
Day.js 默认是英文,如需中文等其他语言,需引入 locale:
Day.js 通过插件机制扩展功能,常用插件有:
Day.js 的所有操作都是不可变的,每次操作都会返回一个新的 Day.js 对象:
到此这篇关于Day.js基础用法的文章就介绍到这了,更多相关Day.js基础用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
本文地址: https://www.earthnavs.com/jishuwz/0091f9fb0bc67919a7dd.html
























