moment.js时间区域问题 昨天、上月、上季度、去年

我的问题是通过js选择时间区域,但是网上很多都是上个月的1号到上个月的30号。而我的需求是需要把当前时间想过去推30*24小时,也就是说时间随着当前的日期改变而改变的。

moment.js官方文档 github :  https://github.com/moment/moment/

重点api 

moment(nowDay).add(-20, 'days') 向过去推20天的日期

代码如下:

<!DOCTYPE html>
<html>
<head>
	<title>测试</title>
	<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
	<script src="moment.js"></script>
	<script src="../My97DatePicker/WdatePicker.js"></script>
	<script type="text/javascript">
		function lastDay(nowDay) {
			return moment(nowDay).add(-1, 'days').format('YYYY-MM-DD');
		}

		function lastMonth(nowDay) {
			var month1 = moment(nowDay).get('month'); 
			var year1 = moment(nowDay).get('year');
			var monthStr;
			var lastmonth;


			if (month1 < 9 && month1 > 0) {
				monthStr = year1 + '-0' + month1;
				var  number1 = moment(monthStr , "YYYY-MM").daysInMonth();
				lastmonth = moment(nowDay).add(-number1, 'days').format('YYYY-MM-DD');
			}
			else if(month1 === 0) {
				monthStr = year1-1 + '-' + 12;

				if(day1 > 9) {
					monthStr = monthStr + '-' + day1;
				} else {
					monthStr = monthStr + '-0' + day1;
				}

				lastmonth = moment(monthStr).format('YYYY-MM-DD');
			} else {
				monthStr = year1 + '-' + month1;
				var  number1 = moment(monthStr , "YYYY-MM").daysInMonth();
				lastmonth = moment(nowDay).add(-number1, 'days').format('YYYY-MM-DD');
			}

			return lastmonth;
		}		


		function quarter(nowDay){
			var year1 = moment(nowDay).get('year');
			var quarter = moment(nowDay).quarter();

			var quarterStart;
			var quarterEnd; 

			if(quarter === 1) {
				quarterStart = year1 + "-01-01";
				quarterEnd = year1 + "-03-31";
			} else if(quarter === 2) {
				quarterStart = year1 + "-04-01";
				quarterEnd = year1 + "-06-30";
			} else if(quarter === 3) {
				quarterStart = year1 + "-07-01";
				quarterEnd = year1 + "-09-30";
			} else {
				quarterStart = year1 + "-10-01";
				quarterEnd = year1 + "-12-31";
			}

			console.log(quarterStart);
			console.log(quarterEnd);
		}

		function lastYear(nowDay) {
			var yue2 = moment(nowDay).month(1).daysInMonth();
			var yearNum;

			if(yue2 === 28) {
				yearNum = 365;
			} else {
				yearNum = 366;
			}

			var lastYear = moment(nowDay).add(-1, 'years').format('YYYY-MM-DD');
			return lastYear;
		}

		console.log(lastDay(new Date()));
		console.log(lastMonth(new Date()));
		quarter(new Date());
		console.log(lastYear(new Date()));
	</script>
</head>
<body>
	<div>
		<input type="date" name="start" id="start" οnclick="WdatePicker()">
		<input type="date" name="ehd" id="end" οnclick="WdatePicker()">
	</div>
</body>
</html>


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值