moment常用操作(日期加减、获取月初月末、季度、年)

简介: moment常用操作(日期加减、获取月初月末、季度、年)

官网:http://momentjs.cn/docs/

1、日期加减
1.加
moment('2021-01-28').add(1, 'days').format('YYYY-MM-DD')
2.减
moment('2021-01-28').subtract(1, 'days').format('YYYY-MM-DD')
3.日期相减
 var dateDiff = 0
 var m1 = moment(this.reportStartTime)
 var m2 = moment(this.reportEndTime)
 dateDiff = m2.diff(m1, 'day')
2、获取日期
当前月初月末日期:
var vStartDate=new moment().add('month',0).format("YYYY-MM")+'-01';         
var vEndM=moment(vStartDate).add('month',1).add('days',-1);
var vEndDate=moment(vEndM).format("YYYY-MM-DD");
当前年:
moment().format("YYYY") 
moment().year(); // Number
当前月:
moment().format('MM')
当前季度:
moment().quarter()
上一年/下一年
上一年:moment().add(-1, 'y').format("YYYY")
下一年:moment().add(1, 'y').format("YYYY")
上几年和下几年同理,做momment日期加减,月季度亦同理
上一季度/下一季度
上一季度:moment().add(-1, 'Q').quarter()
下一季度:moment().add(1, 'Q').quarter()
年开始结束时间
moment().startOf('year')
moment().endOf('year')
季度开始结束时间
当前季度的开始结束时间:
moment().startOf('quarter').format("YYYY-MM-DD")
moment().endOf('quarter').format("YYYY-MM-DD")
指定年指定季度的开始结束时间:(某年某季度的开始结束时间)
moment(moment().format("YYYY-02-01")).startOf('quarter').format("YYYY-MM-DD")
moment(moment().format("YYYY-02-01")).endOf('quarter').format("YYYY-MM-DD")
月度开始结束时间
moment().startOf('month')
moment().endOf('month')
3、格式化当前日期:
//显示结果为:"2017-09-20 15:35:52"
moment(new Date()).format('YYYY-MM-DD HH:mm:ss');
//显示结果为:"2017/09/20 15:39:58"
moment(new Date()).format('YYYY/MM/DD HH:mm:ss');
//显示结果为:"2017-9-20 15:40:45"
moment(new Date()).format('YYYY-M-D HH:mm:ss');
// y表示日期,m表示月份,d表示事件,h表示小时,m表示分钟,s表示秒,不区分大小写
4、获取各阶段时间:
当前时间:
//显示结果为:"2017-09-20 15:35:52"
moment(new Date()).format('YYYY-MM-DD HH:mm:ss');
获取前一个月的日期:
//显示结果为:"2017-08-20 15:35:52"
moment(new Date()).subtract(1,'months').format('YYYY-MM-DD HH:mm:ss');
获取前10天的日期:
//显示结果为:"2017-09-10 15:35:52"
moment(new Date()).subtract(10,'days').format('YYYY-MM-DD HH:mm:ss');
获取前一年的日期:
//显示结果为:"2016-09-20 15:35:52"
moment(new Date()).subtract(1,'years').format('YYYY-MM-DD HH:mm:ss');
相关文章
|
JavaScript
【vue】 vue-seamless-scroll 无缝滚动依赖
【vue】 vue-seamless-scroll 无缝滚动依赖
2433 1
|
人工智能 程序员 开发工具
通义灵码 2.5:我用一句话,给女朋友做了个软件
通义灵码2.5,阿里推出的智能开发工具,实现“一句话开发”奇迹。只需描述需求,如“我女朋友总忘记打卡,想做个提醒工具”,它便生成完整项目:主程序、安装脚本、测试代码甚至打包文件一应俱全。无需配置环境或调试,直接交付可用应用。其自动化流程涵盖依赖安装、打包、快捷方式创建及开机启动设置,真正实现从0到上线一键搞定。这不仅改变开发方式,更让创意快速落地,带来温暖与惊喜。进入Vibe Coding时代,用灵感驱动编程,让想法瞬间成真。
|
IDE Linux 开发工具
2022.2最新idea破解,window,mac通用
1、安装IDEA,一路next即可,遇到安装路径时,记得修改安装路径。 2、安装完成,打开IDEA,会先弹出一个注册框,勾选Evaluate for free,点击Evaluate,然后进入主界面 3. 开始破解
17157 0
2022.2最新idea破解,window,mac通用
|
SQL 存储 数据库
【赵渝强老师】达梦数据库的归档模式
本文介绍了达梦数据库备份与恢复中重做日志文件的作用,重点讲解了归档模式的必要性及其配置方法。文章分析了非归档模式可能导致的数据丢失问题,并推荐使用归档模式以保障数据一致性和完整性。归档模式分为本地归档和远程归档:本地归档将重做日志存储在本地,而远程归档适用于集群环境,确保所有节点拥有完整日志。文中还详细展示了如何通过SQL命令开启归档模式,包括切换状态、设置路径及验证配置等步骤,并附有视频教程辅助理解。
1436 1
|
小程序
微信小程序 | 吐血整理的日历及日程时间管理
微信小程序 | 吐血整理的日历及日程时间管理
4825 0
微信小程序 | 吐血整理的日历及日程时间管理
|
消息中间件
failed to open log file at ‘/var/log/rabbitmq/rabbit@9f987b50c687_upgrade.log‘, reason: permission d
failed to open log file at ‘/var/log/rabbitmq/rabbit@9f987b50c687_upgrade.log‘, reason: permission d
829 0
|
前端开发 JavaScript
纯前端用XLSX库导出excel,可含多个sheet
纯前端用XLSX库导出excel,可含多个sheet
1212 0
|
编解码 前端开发 信息无障碍
CSS媒体查询(@media)全面解析
CSS媒体查询(@media)全面解析
449 1
Echarts——如何默认选中图表并显示tooltip
Echarts——如何默认选中图表并显示tooltip
998 1
|
JavaScript 前端开发
vue引入axios出现Module parse failed: Unexpected token (5:2)
vue引入axios出现Module parse failed: Unexpected token (5:2) 页面显示 Cannot GET /
743 3