您的位置:首页 > Web前端 > JavaScript

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

2017-03-27 18:09 381 查看
我的问题是通过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" onclick="WdatePicker()">
<input type="date" name="ehd" id="end" onclick="WdatePicker()">
</div>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  js