前言
在项目开发中经常遇到要格式化时间,使用moment格式化时间,发现使用moment太过笨重,占用过大空间,
今天给大家带来一个新的时间格式化工具:date-fns
date-fns 是一个现代的 JavaScript 日期工具类库,提供了最全面、最简单和一致的工具集,用于在浏览器和 Node.js 中操作 JavaScript 日期
安装
npm install date-fns --save
# or with yarn
yarn add date-fns
项目中使用
自定义过滤器filter.js文件
import Vue from 'vue'
import format from 'date-fns/format'
//自定义过滤器
Vue.filter('date-format',function(value,formatStr='YYYY-MM-DD HH:mm:ss'){
return format(value,formatStr)
})
在入口文件中引入
import './filter.js'//加载过滤器
在项目文件中使用
<div class="time">{{rating.rateTime | date-format}}</div>
官方API
isToday():判断所传入日期是否为今天
isYesterday(): 判断是否为昨天
isTomorrow()判断是否为明天. 用法与isToday(), isYesterday()用法相同
format(): 格式化日期函数
addDays():获得第n天之后的日期;
addHours(): 获得当前小时之后的小时(比如现在5点, 得到七点的时间).
addMinutes():获得当前分钟之后n分钟的时间
addMonths(): 获得当前月之后n个月的月份
subDays():获得当前日期之前n天的日期
subHours(): 获得当前时间之前n小时的时间
subMinutes(): 获得当前时间之前n分钟的时间
subMonths():获得当前月份之前n个月的时间
differenceInDays(): 获得两个时间相差几天,
differenceInHours();获得两个时间相差的小时.
differenceInMinutes(): 获得两个时间相差的分钟
differenceInMonths():获得两个时间相差月份
differenceInWeeks(): 获得两个时间相差的周数
differenceInYears():获得两个时间相差的年数
startOfDay():返回传入日期一天开始的Date对象(一天开始的时间)
endOfDay(): 获得传入日期一天的结束时间(与startOfDay对应)
startOfMonth():获取月份的第一天
endOfMonth(): 获得月份的最后一天
getDate(): 获取传入的日期是几号;
getDay(): 获取传入的日期是星期几
getMonth(): 返回传入时间的月份
getMinutes(): 返回传入时间的分钟数
getHours():返回传入时间的小时数
getISOWeek(): 返回传入时间所在月份的第几周.
isEqual(): 判断传入的时间是否相等
max(): 取得时间数组中的最大值
min(): 取得时间数组中的最小值
谢谢大家!