0


dayjs

参考

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 所有, 如有侵权,请联系我们删除。

“dayjs”的评论:

还没有评论