moment 取年月日_moment的简单使用

本文介绍了如何使用moment.js库来获取和操作日期,包括当前时间、过去和未来的日期,以及封装函数以获取指定周的开始和结束日期。
摘要由CSDN通过智能技术生成

基础用法--获取时间点

//获取当前时间

moment().format("YYYY-MM-DD HH:mm:ss");

//当前时间的前10天日期

moment().subtract(10, "days").format("YYYY-MM-DD");

//当前时间的前1年时间

moment().subtract(1, "years").format("YYYY-MM-DD");

**//当前时间的前3个月时间**

moment().subtract(3, "months").format("YYYY-MM-DD");

//当前时间的前一个星期时间

moment().subtract(1, "weeks").format("YYYY-MM-DD");

获取时间范围

//获取本日时间

const startDate = moment().format('YYYY-MM-DD');

//获取本周开始结束日期

const startDate=moment().week(moment().week()).startOf('week').format('YYYY-MM-DD'); //年月日的格式

const endDate = moment().week(moment().week()).endOf('week').valueOf(); //时间戳的格式

//获取本月开始结束日期

const startDate = moment().month(moment().month()).startOf('month').valueOf();

const endDate = moment().month(moment().month()).endOf('month').valueOf();

//获取本年开始结束日期

const startDate = moment().year(moment().year()).startOf('year').valueOf();

const endDate = moment().year(moment().year()).endOf('year').valueOf();

封装获取本周、前 n 周、后 n 周开始结束日期(即周一、周日日期)的方法

封装工具类DateTime.js,可直接复制到项目中使用

/**

* 时间日期工具类

*/

import moment from 'moment'

export default {

//获取本周周一和周日日期

getCurrentWeek() {

const start = moment().weekday(1).format('YYYY-MM-DD'); //本周一日期

const end = moment().weekday(7).format('YYYY-MM-DD'); //本周日日期

return {start, end}

},

/**

* 获取前 i 周的周一和周日日期

* 当 i=1,获取的是上周一和上周日的日期;

* 当 i=2,获取的是上上周一和上上周日的日期

* ...

* @param i

*/

getLastWeek(i) {

const weekOfDay = parseInt(moment().format('E'));//计算今天是这周第几天

const last_monday = moment().subtract(weekOfDay + 7 * i - 1, 'days').format('YYYY-MM-DD');//周一日期

const last_sunday = moment().subtract(weekOfDay + 7 * (i - 1), 'days').format('YYYY-MM-DD');//周日日期

return {last_monday, last_sunday}

}

/**

* 获取后 i 周的周一和周日日期

* 当 i=1,获取的是下周一和下周日的日期;

* 当 i=2,获取的是下下周一和下下周日的日期

* ...

* @param i

*/

getNextWeek(i) {

const weekOfDay = parseInt(moment().format('E'));//计算今天是这周第几天

const next_monday = moment().add((7 - weekOfDay) + 7 * (i - 1) + 1, 'days').format('YYYY-MM-DD');//周一日期

const next_sunday = moment().add((7 - weekOfDay) + 7 * i, 'days').format('YYYY-MM-DD');//周日日期

return {next_monday, next_sunday}

}

}

调用实例:

const currentWeek1 = DateTimeUtils.getCurrentWeek() //获取本周开始结束日期

const currentWeek2 = DateTimeUtils.getLastWeek(0) //获取本周开始结束日期

const currentWeek3 = DateTimeUtils.getNextWeek(0) //获取本周开始结束日期

const lastWeek1 = DateTimeUtils.getLastWeek(1) //获取上周开始结束日期

const lastWeek2 = DateTimeUtils.getLastWeek(2) //获取上上周开始结束日期

const lastWeek3 = DateTimeUtils.getLastWeek(3) //获取前三周开始结束日期

const nextWeek1 = DateTimeUtils.getNextWeek(1) //获取下周开始结束日期

const nextWeek2 = DateTimeUtils.getNextWeek(2) //获取下下周开始结束日期

const nextWeek3 = DateTimeUtils.getNextWeek(3) //获取后三周开始结束日期

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值