参考
import Vue from 'vue'
import dayjs from 'dayjs'
// 加载中文语言包
import 'dayjs/locale/zh-cn'
import relativeTime from 'dayjs/plugin/relativeTime'
// 配置使用处理相对时间的插件
dayjs.extend(relativeTime)
// dayjs 默认语言是英文,我们这里配置为中文
dayjs.locale('zh-cn') // 全局使用
// 定义一个全局过滤器,然后就可以在任何组件的模板中使用了
// 其实过滤器就相当于一个全局可用的方法(仅供模板使用)
// 参数1:过滤器名称
// 参数2:过滤器函数
// 使用方式:{{ 表达式 | 过滤器名称 }}
// 管道符前面的表达式的结果会作为参数传递到过滤器函数中
// 过滤器的返回值会渲染到使用过滤器的模板位置
Vue.filter('relativeTime', value => {
return dayjs().to(dayjs(value))
})
//value 可以是时间戳,2022年11月09日,2022/08/09,都可以
Vue.filter('format', (value, arg="YYYY-MM-DD") => {
return dayjs(value).format(arg)
})
// 1.安装 npm i dayjs 2、创建 utils/dayjs.js 3、在 main.js 中加载初始化import './utils/dayjs' 4、使用过滤器 :使用<p>{{ 日期数据 | relativeTime }}</p>
/**
* 格式化日期
* @param date
*/
// export function formatDateMonth(date) {
// if (!date) return '';
// return dayjs(date).format('YYYY-MM');
// }
// console.log('-----获取当前最新时间', dayjs()); // ==>>
// // 1. 初始化日期 / 时间
// console.log('-----初始化当前日期', dayjs(new Date()).format('YYYY年MM月DD日')); //
// console.log('-----初始化当前日期', dayjs().format('YYYY-MM-DD')); // ==>> 2022-12-16
// console.log('-----初始化当前日期时间', dayjs().format('YYYY-MM-DD HH:mm:ss')); // ==>>
// // 2. 格式化日期 / 时间 dayjs(value).format('YYYY-MM-DD');
// // 1668575570000 时间戳
// console.log('-----日期转换', dayjs(1668575570000).format('YYYY-MM-DD')); // ==>> 2022-12-16
// console.log('-----日期转换', dayjs(2022-12-16).valueOf()); //获取时间戳
// console.log('-----日期转换', dayjs("2022/12/16").format('YYYY-MM-DD')); //==>> 2022-12-16
// console.log('-----时间间隔', dayjs().to(dayjs('2020'))); // ==>> 2 年以前
// //3. 加 / 减
// console.log('-----加上7天', dayjs().add(7, 'day').format('YYYY-MM-DD')); // ==>> 2022-04-27 今天(2022-04-20)加上7天
// console.log('-----加上一月', dayjs().add(1, 'month').format('YYYY-MM-DD')); // ==>> 2022-05-20 今天(2022-04-20)加上一月
// console.log('-----减去2年', dayjs().subtract(2, 'year').format('YYYY-MM-DD')); // ==>> 2020-05-20 今天(2022-04-20)减去2年
// console.log('-----减去2小时', dayjs().subtract(2, 'hour').format('YYYY-MM-DD HH:mm:ss')); // ==>> 2020-05-20 今天(2022-04-20)减去2年
// // 4. 获取某年某月的第一天或最后一天
// //获取某年某月的最后一天:
// dayjs().startOf('year').format('YYYY-MM-DD HH:mm:ss') // 2022-01-01 00:00:00 => 第一天格式化出来的时分秒都是0
// dayjs().startOf('month').format('YYYY-MM-DD') // 2022-04-01
// // 获取某年某月的最后一天:
// dayjs().endOf('year').format('YYYY-MM-DD HH:mm:ss') // 2022-12-31 23:59:59 => 最后时间 格式化出来的时分秒是23:59:59
// dayjs().endOf('month').format('YYYY-MM-DD') // 2022-04-30
// // 5. 获取星期几
// dayjs().day()// : 返回0(星期日)到6(星期六)的数字
// console.log('-----获取最近周六的日期',dayjs().day(6).format('YYYY-MM-DD'))//获取最近周六的日期 => 2022-11-19 ,当前时间2022-11-17 周四
// console.log('-----获取最近周日的日期',dayjs().day(0).format('YYYY-MM-DD'))//获取最近周日的日期 => 2022-11-13
// // 6. 获取毫秒数
// dayjs('2019-01-25').valueOf()
// dayjs().valueOf()
// //7. 获取时间差(默认输出的差值单位是毫秒)
// dayjs('2019-01-25').diff('2018-06-05', 'month'); // 7
// dayjs('2019-01-25').diff(dayjs('2018-06-05'), 'month'); // 7
// console.log('-----获取时间差',dayjs('2019-01-25 13:30:10').diff(dayjs('2019-01-25 13:26:10'), 'minute')); // 4
// //8将毫秒转为时分秒
// console.log('-----获取年', dayjs().year()); // ==>> 2022
// console.log('-----获取月', dayjs().month()); // 0到11的数字 ==>> 3
// console.log('-----获取星期', dayjs().day()); // 0(星期日)到6(星期六)的数字 ==>> 3
// console.log('-----获取天', dayjs().date()); // 1到31的数字 ==>> 20
// console.log('-----获取小时', dayjs().hour()); // 0到23的数字 ==>> 16
// console.log('-----获取分钟', dayjs().minute());// 0到59的数字 ==>> 55
// console.log('-----获取秒', dayjs().second()); // 0到59的数字 ==>> 55
// console.log('-----获取毫秒', dayjs().millisecond()); // 0到999的数字 ==>> 333
// // 9. 将毫秒转为时分秒
// // 下面毫秒数代表:2022-04-20 17:43:20
// const timestr = 1650447800731; // 毫秒值必须是number类型,如果是string,结果可能和你想的不一样
// console.log('将毫秒转为年-月-日 时:分:秒', dayjs(timestr).format('YYYY-MM-DD HH:mm:ss'));
// console.log('获取年', dayjs(timestr).year()); //
// console.log('获取月', dayjs(timestr).month());
// console.log('获取天', dayjs(timestr).date());
// console.log('获取时', dayjs(timestr).hour());
// console.log('获取分', dayjs(timestr).minute());
// // 10. 判断一个日期是否在另外一个日期之后 isAfter
// // day.js 为 2022-04-20
// console.log('isAfter', dayjs().isAfter(dayjs('2011-01-01'))) // true
// console.log('isAfter', dayjs('2022-04-20').isAfter(dayjs('2022-04-21'))) // false
// console.log('isAfter', dayjs('2022-04-20').isAfter(dayjs('2022-04-20'))) // 相同也为false
// //11. 判断一个日期是否在另外一个日期之前 isBefore
// // day.js 为 2022-04-20
// console.log('isBefore', dayjs().isBefore(dayjs('2011-01-01'))) // false
// console.log('isBefore', dayjs('2022-04-20').isBefore(dayjs('2022-04-21'))) // true
// console.log('isBefore', dayjs('2022-04-20').isBefore(dayjs('2022-04-20'))) // 日期相同时也为false
// //12. 判断两个日期是否相同 isSame
// // day.js 为 2022-04-20
// console.log('isSame', dayjs().isSame(dayjs('2011-01-01'))) // false
// console.log('isSame', dayjs('2022-04-20').isSame(dayjs('2022-04-21'))) // false
// console.log('isSame', dayjs('2022-04-20').isSame(dayjs('2022-04-20'))) // true
//13. 判断一个日期是否在两个日期之间 isBetween
// 注意:
// 此功能依赖IsBetween插件
// 此处也将演示如何使用 Day.js 的插件
// import dayjs from 'dayjs' // 引入dayjs
// import isBetween from 'dayjs/plugin/isBetween' // 引入相关插件
// created() {
// dayjs.extend(isBetween); // 挂载插件
// // 使用插件
// console.log('isBetween', dayjs('2010-10-20').isBetween('2010-10-19', dayjs('2010-10-25')) )
// }
// 单位 缩写 描述
// week w 周
// day d 星期(星期日0,星期六6)
// month M 月份(0-11)
// year y 年
// hour h 小时
// minute m 分钟
// second s 秒
// millisecond ms 毫秒(默认输出单位)
本文转载自: https://blog.csdn.net/code_dream_wq/article/details/127925662
版权归原作者 code_dream_wq 所有, 如有侵权,请联系我们删除。
版权归原作者 code_dream_wq 所有, 如有侵权,请联系我们删除。