当前位置: 首页 > news >正文

moment.js 获取相关时间节点(今天、本周、本月、本季度、本年)

文章目录

  • moment.js 获取相关时间节点(今天、本周、本月、本季度、本年)
    • 起步
    • 获取相关时间节点
      • 自然周期效果
      • 近…… 周期效果
      • 代码
      • 参考文章

moment.js 获取相关时间节点(今天、本周、本月、本季度、本年)

起步

安装 moment.js => npm install moment

代码中引入 import moment from 'moment';

简答使用,获取当前时间 => moment()


获取相关时间节点

  • this.$moment() 这个前缀换成对应的 moment 即可
  • 我只是挂载到了 vue 上而已

src\main.js

import moment from 'moment'// 全局挂载
Vue.prototype.$moment = moment

自然周期效果

  • 代码示例执行时间:2024年10月11日10:52:04

请添加图片描述


近…… 周期效果

  • 代码示例执行时间:2024年10月11日20:25:21

请添加图片描述


代码

(推荐下面代码里的写法2,代码更加简洁一些,通过参数 isNaturalCycle 可控制是自然周期还是近……的周期,true 自然周期 false 近……(周期))

export default {methods: {// 将时间标识转换为具体的时间getTimeOptionQuery (dateOption = "day", isNaturalCycle = true) {// dateOption  =>  day 今天  week 本周  month 本月 season 本季度  year 本年// isNaturalCycle  =>  true 自然周期 false 近……(周期)let query = {}if (isNaturalCycle) {switch (dateOption) {case 'year':query.endTime = this.$moment().endOf('year').format('YYYY-MM-DD HH:mm:ss')query.startTime = this.$moment().startOf('year').format('YYYY-MM-DD HH:mm:ss')breakcase 'season':query.endTime = this.$moment().endOf('quarter').format('YYYY-MM-DD HH:mm:ss')query.startTime = this.$moment().startOf('quarter').format('YYYY-MM-DD HH:mm:ss')breakcase 'month':query.endTime = this.$moment().endOf('month').format('YYYY-MM-DD HH:mm:ss')query.startTime = this.$moment().startOf('month').format('YYYY-MM-DD HH:mm:ss')breakcase 'week':query.endTime = this.$moment().endOf('isoWeek').format('YYYY-MM-DD HH:mm:ss')query.startTime = this.$moment().startOf('isoWeek').format('YYYY-MM-DD HH:mm:ss')breakdefault:query.endTime = this.$moment().endOf('day').format('YYYY-MM-DD HH:mm:ss')query.startTime = this.$moment().startOf('day').format('YYYY-MM-DD HH:mm:ss')break}} else {query.endTime = this.$moment().format('YYYY-MM-DD HH:mm:ss')switch (dateOption) {case 'year':query.startTime = this.$moment().subtract(1, 'years').format('YYYY-MM-DD HH:mm:ss')breakcase 'season':query.startTime = this.$moment().subtract(1, 'quarter').format('YYYY-MM-DD HH:mm:ss')breakcase 'month':query.startTime = this.$moment().subtract(1, 'month').format('YYYY-MM-DD HH:mm:ss')breakcase 'week':query.startTime = this.$moment().subtract(1, 'isoWeek').format('YYYY-MM-DD HH:mm:ss')breakdefault:query.startTime = this.$moment().subtract(1, 'day').format('YYYY-MM-DD HH:mm:ss')break}}return query},/* ------------------------------- 写法2 --------------------------------  */getTimeOptionQuery (dateOption = "day", isNaturalCycle = false) {// dateOption  =>  day 今天  week 本周  month 本月 season 本季度  year 本年// isNaturalCycle  =>  true 自然周期 false 近……(周期)let query = {}// 相关时间周期标识和 momentjs 中相关周期标识 对应关系const dateKeywordMap = {"year": "year","season": "quarter","month": "month","week": "isoWeek","day": "day",}const dateKeyword = dateKeywordMap[dateOption]if (isNaturalCycle) {query.startTime = this.$moment().startOf(dateKeyword).format('YYYY-MM-DD HH:mm:ss')query.endTime = this.$moment().endOf(dateKeyword).format('YYYY-MM-DD HH:mm:ss')} else {query.startTime = this.$moment().subtract(1, dateKeyword).format('YYYY-MM-DD HH:mm:ss')query.endTime = this.$moment().format('YYYY-MM-DD HH:mm:ss')}return query},}
}

参考文章

Moment.js 中文网 | 开发文档

moment.js 使用方法总结(最全)_momentjs-CSDN博客

【Moment.js】相关便捷日期获取、计算、月、季度、年_moment获取季度-CSDN博客


http://www.mrgr.cn/news/58665.html

相关文章:

  • Go语言基础教程:闭包
  • echarts给Y轴的不同轴线设置不同的颜色的样式
  • VMware Workstation 17.6.1 Pro 全开放下载咯
  • 二十、Innodb底层原理与Mysql日志机制深入剖析
  • ubuntu 用 ss-tproxy的内置 DNS 前挂上 AdGuardHome,AdGuardHome实现的DHCP和DNS 去广告
  • w外链如何跳转微信小程序
  • 安全见闻---清风
  • 2024mathorcup大数据竞赛选题建议及思路来啦!
  • 大数据治理平台建设规划方案(71页WORD)
  • 【后端秘籍】【JVM】第二篇
  • 【永中软件-注册/登录安全分析报告】
  • Elliott Wave Prophet,艾略特波浪预测指标!预测未来走势!免费公式!(指标教程)
  • 双十一送你一份购物攻略,绿联NAS DXP2800评测
  • 加密算法入门:DES S盒输出计算方法
  • es实现桶聚合
  • OmniAI,OCR效果强的离谱,“牛马”必备
  • 01.01、判定字符是否唯一
  • essay
  • 算法的学习笔记—数组中只出现一次的数字(牛客JZ56)
  • 设计一个html+css+js的注册页,对于注册信息进行合法性检测
  • 03.04、化栈为队
  • ECharts图表图例知识点小结
  • 前端零基础入门到上班:【Day5】HTML 和 CSS
  • 前端零基础入门到上班:【Day3】从零开始构建网页骨架HTML
  • 【移动应用开发】界面设计(二)实现水果列表页面
  • 若依RuoYi-Vue 定时任务 速学