momentjs常用时间段示例

	import moment from 'moment'
	moment()	//代表今天
	moment().subtract(1, 'days').format('YYYY-MM-DD')// subtract 减去  今天的昨天,代表1天前按格式话
	moment().subtract(1, 'months').format("YYYY-MM-DD") // 上个月的今天
	moment().add(1, 'days').format('YYYY-MM-DD')// add 加上  今天的昨天,代表1天后按格式话
	moment(new Date()).startOf('month').format("YYYY-MM-DD")) //获取当前月第一天按格式YYYY-MM-DD
	moment(new Date()).endOf('month').format("YYYY-MM-DD")) //获取当前月最后一天按格式YYYY-MM-DD
	 moment('2019-10-10 10:00:00', 'YYYY-MM-DD HH:mm:ss'); //日期是某种格式得按格式解析
	 valueOf()							//获取时间戳
	startOf('year'/'month'/'day')			//获取某年或某月的开始返回的仍然是moment对象

引入moment

//require 方式
var moment=require('moment');
//import 方式
import moment from 'moment'; 

设定moment区域为中国

//require 方式
require('moment/locale/zh-cn')
moment.locale('zh-cn'); 
//import 方式
import 'moment/locale/zh-cn'
moment.locale('zh-cn');   

格式化时间类型

1.取当天时间,以YYYY年MM月DD日形式显示

var now=moment().format("YYYY年MM月DD日");

2.任意时间戳格式化,以YYYY-MM-DD HH:mm:ss形式显示

 var t1=moment(1411641720000).format('YYYY-MM-DD HH:mm:ss');

获取前一天日期,格式以YYYY-MM-DD形式显示

var t11=moment().day(0).format('YYYY-MM-DD');

获取本周五日期,格式以YYYY-MM-DD形式显示

var t12=moment().weekday(5).format('YYYY-MM-DD');

获取上周五日期,格式以YYYY-MM-DD形式显示

var t13=moment().weekday(-3).format('YYYY-MM-DD');

可以简单理解为上周倒数第几天,上周倒数第三天就是上周五了,和当天日期无关

获取当前年份、月份、日期

var t14=moment().year()
var t15=moment().month()//此处月份从0开始,当前月要+1
var t16=moment().date();

注意这个地方,日期不是.day()/days()

结合t14,t15,t16就可以输出你想要的任何和当前日期、月份相关的日期
例如:我想获取去年今天的完整日期,如:今天是2018-7-23,我要输出的是2017-7-23

获取上个月今天的日期,格式以YYYY-MM-DD显示

var t18=moment().subtract(1, 'months').format('YYYY-MM-DD');

获取前一天日期,格式以YYYY-MM-DD显示

var t20 = moment().subtract(1, 'days').format('YYYY-MM-DD');

获取两个小时之后的时间

var t22=moment().add(2,'hours').format('YYYY-MM-DD HH:mm:ss');

获取两个时间差

var a = moment('2019-10-02');
var b = moment('2019-10-01');
a.diff(b, 'days') // 1 a-b模式有正0负数等
支持的度量有 years、months、weeks、days、hours、minutes 和 seconds。 

常用场景实例

 
// 获取当天开始结束时间
function getCurrDays(){
  let date = []
  date.push(moment().format('YYYY-MM-DD'))
  date.push(moment().format('YYYY-MM-DD'))
  // 获取当天的开始结束时间,精确到时分秒
  // moment().startOf('days').format('YYYY-MM-DD HH:mm:ss')
  // moment().endOf('days').format('YYYY-MM-DD HH:mm:ss')
  return date
}
 
// 获取昨天的开始结束时间
function getYesterday(){
  let date = []
  date.push(moment().subtract(1,'days').format('YYYY-MM-DD'))
  date.push(moment().subtract(1,'days').format('YYYY-MM-DD'))
  // 获取昨天的开始结束时间,精确到时分秒
  // moment().subtract('days',1).startOf('days').format('YYYY-MM-DD HH:mm:ss')
  // moment().subtract('days',1).endOf('days').format('YYYY-MM-DD HH:mm:ss')
  return date
}
// 获取明天的开始结束时间
function getTomorrow(){
  let date = []
  date.push(moment().add(1,'days').format('YYYY-MM-DD'))
  date.push(moment().add(1,'days').format('YYYY-MM-DD'))
  return date
}
// 获取最近七天的开始结束时间
function getLast7Days(){
  let date = []
  // 不包含当天
  date.push(moment().subtract(7,'days').format('YYYY-MM-DD'))
  date.push(moment().subtract(1,'days').format('YYYY-MM-DD'))
  // 包含当天
  // date.push(moment().subtract('days',6).format('YYYY-MM-DD'))
  // date.push(moment().format('YYYY-MM-DD'))
  return date
}
// 获取最近30天的开始结束时间
function getLast30Days(){
  let date = []
  date.push(moment().subtract(30,'days').format('YYYY-MM-DD'))
  date.push(moment().subtract(1,'days').format('YYYY-MM-DD'))
  return date
}
// 获取当前周的开始结束时间,周一到周日
//注意format('E')获取一周中的第几天,星期天是第七天,周一到周六以此类推1,2,3,4,5,6,但是moment.js的一周开始是周日到周六
var weekOfday = moment("2018-10-29",'YYYY-MM-DD').format('E');//计算指定日期是这周第几天
export function getCurrWeekDays () {
  let date=[]
  let weekOfday = moment().format('E');//计算今天是这周第几天
  let start = moment().subtract(weekOfday-1, 'days').format('YYYY-MM-DD');//周一日期
  let end= moment().add(7-weekOfday, 'days').format('YYYY-MM-DD');//周日日期
  date.push(start)
  date.push(end)
  return date
}
// 获取当前周的开始结束时间,周日到周六
function getCurrWeekDays(){
  let date = []
  let start = moment().startOf('week').format('YYYY-MM-DD')
  let end = moment().endOf('week').format('YYYY-MM-DD')
  date.push(start)
  date.push(end)
  return date
}
// 获取上一周的开始结束时间,周日到周六
function getLastWeekDays(){
  let date = []
  let start = moment().week(moment().week() - 1).startOf('week').format('YYYY-MM-DD')
  let end = moment().week(moment().week() - 1).endOf('week').format('YYYY-MM-DD')
  date.push(start)
  date.push(end)
  return date
}
// 获取下一周的开始结束时间,周日到周六
function getNextWeekDays(){
  let date = []
  let start = moment().week(moment().week() + 1).startOf('week').format('YYYY-MM-DD')
  let end = moment().week(moment().week() + 1).endOf('week').format('YYYY-MM-DD')
  date.push(start)
  date.push(end)
  return date
}
// 获取当前月的开始结束时间
function getCurrMonthDays(){
  let date = []
  let start = moment().startOf('month').format('YYYY-MM-DD')
  let end = moment().endOf('month').format('YYYY-MM-DD')
  date.push(start)
  date.push(end)
  return date
}
// 获取上一月的开始结束时间
function getLastMonthDays(){
  let date = []
  let start = moment().month(moment().month() - 1).startOf('month').format('YYYY-MM-DD')
  let end = moment().month(moment().month() - 1).endOf('month').format('YYYY-MM-DD')
  date.push(start)
  date.push(end)
  return date
}
// 当前季度
function getCurrQuarter(){
  let date = []
  let start = moment().startOf('quarter').format('YYYY-MM-DD')
  let end = moment().endOf('quarter').format('YYYY-MM-DD')
  date.push(start)
  date.push(end)
  return date
}
// 上个季度
function getLastQuarter(){
  let date = []
  let start = moment().quarter(moment().quarter() - 1).startOf('quarter').format('YYYY-MM-DD')
  let end = moment().quarter(moment().quarter() - 1).endOf('quarter').format('YYYY-MM-DD')
  date.push(start)
  date.push(end)
  return date
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值