dateformat.js 是一款不足 5kb 的轻量级 JavaScript 日期处理工具库。本文详细介绍其引入方式及核心 API,包括日期格式化、字符串转日期、获取起止时间、日期比较、星期获取及日期增减等功能,帮助开发者快速集成并处理常见日期需求。
介绍
dateformat.js
dateformat.js 是一款简洁且体积不足 5kb 的 JavaScript 工具库,专门用于处理时间相关操作。
- 支持常用的时间格式化
- 获取当前星期、对比时间大小以及判断是否为闰年
- 支持增加日期、月份和年份等操作
- 支持自动实时更新
- 支持通过浏览器 script 标签引入
- 测试用例完善,运行稳定
1 使用方法
1.1 引入 dateformat.js
通过 script 标签将库引入 HTML 文件,此时会生成一个全局变量 DateFormat。
<script src="dateformat.js"></script>
此外,你也可以通过 import 语句进行引入。
import dateformat form '...自己的路径';
该项目已发布至 npm,你可以通过以下命令安装:
//安装
npm install dateformat-util
//使用
var dateformat = require('dateformat-util');
dateformat.format(new Date());
1.2 使用 dateformat 类
引入后直接调用相关方法即可使用。
DateFormat.format(new Date(), 'yyyy-MM-dd hh:mm:ss');
2 具体方法
2.1 format(date, fmt)
format 是一个用于格式化 Date 类型时间的工具方法:
DateFormat.format(new Date()) //不传 fmt,则默认为 yyyy-MM-dd hh:mm:ss ;
DateFormat.format(new Date(), 'yyyy-MM-dd hh:mm:ss');
DateFormat.format(new Date(), 'yyyy/MM/dd hh:mm:ss');
DateFormat.format(new Date(), 'yyyy/MM/dd');
...
2.2 formatToDate(dateStr)
formatToDate 用于将字符串类型的时间转换为 Date 类型:
DateFormat.formatToDate('2017-04-18 12:12:12');
DateFormat.formatToDate('2017/04/18 12:12:12');
...
2.3 getDateStart(date)
getDateStart 用于获取某一天的开始时间,这在需要获取特定日期起始点的场景中非常有用。
DateFormat.getDateStart(new Date()); //今天是4.18, 那返回的是今天 00:00:00的Date类型
若需返回字符串格式,可调用 getDateStartStr(date, fmt) 方法,其中 fmt 参数非必填。
DateFormat.getDateStartStr(new Date(), 'yyyy-MM-dd hh:mm:ss'); //返回 2017-04-18 00:00:002.4 getDateEnd(date)
getDateEnd 用于获取一天的结束时间。
DateFormat.getDateEnd(new Date()); //今天是4.18, 那返回的是今天 23:59:59的Date类型
若需返回字符串格式,可调用 getDateEndStr(date, fmt) 方法,其中 fmt 参数非必填。
DateFormat.getDateEndStr(new Date(), 'yyyy-MM-dd hh:mm:ss'); //返回 2017-04-18 23:59:59
2.5 compareDate(d1, d2)
compareDate 用于比较两个日期的大小:若 d1 > d2 返回 1,d1 == d2 返回 0,d1 < d2 返回 -1。
DateFormat.compareDate(new Date(), new Date());
2.6 getWeek(date, type)
getWeek 用于获取指定日期是星期几。
DateFormat.getWeek(new Date()); //type非必传,默认返回 '星期 X'的格式
DateFormat.getWeek(new Date(), DateFormat.WEEKTYPE.US_DAYNAME); // Monday
/*
type 枚举如下:
DateFormat.WEEKTYPE.ZH_DAYNAME : 星期一
DateFormat.WEEKTYPE.ZH_SHORTDAYNAME: 周一
DateFormat.WEEKTYPE.US_DAYNAME: Monday
DateFormat.WEEKTYPE.US_SDAYNAME: Mon
*/
2.7 addDay(date, num)
日期增加系列方法如下:
addDay(date, num)
addDayStr(dateStr, num)
addMonth(date, num)
addMonthStr(dateStr, num)
addYear(date, num)
addYearStr(dateStr, num)
使用方式十分简单,例如当前日期为 2017.04.18。
DateFormat.addDay(new Date(), 3); //返回是三天后的 Date类型
DateFormat.addDayStr('2017-04-18 12:12:12', 3) // 返回 Fri Apr 21 2017 12:12:12 GMT+0800 (中国标准时间)
// 其他 month year的方式同上至此,关于 dateformat.js 这款超轻量级 JS 日期处理库的使用介绍完毕,更多相关内容可参考本站其他文章。