您的位置:首页 > 编程语言 > Java开发

利用java script获取两个日期区间内数组的方法

2016-05-03 15:34 489 查看

方法1:

思路:对日期进行拆分,每次增加一天,循环比较日期大小直至相同为止。

<html>
<head>
<title>Get data array</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>

<script src="yourpath/jquery-1.11.1.min.js"></script>
<script src="yourpath/bootstrap.min.js"></script>

<script>
$(function () {
var datatmp = dataScope('2014-05-01', '2015-06-10');
for (var i = 0; i < datatmp.length; i++) {
document.write(datatmp[i] + "<br>");
}
});
</script>

<script>
function dataScope(value1, value2) {
var getDate = function (str) {
var tempDate = new Date();
var list = str.split("-");
tempDate.setFullYear(list[0]);
tempDate.setMonth(list[1] - 1);
tempDate.setDate(list[2]);
return tempDate;
}
var date1 = getDate(value1);
var date2 = getDate(value2);
if (date1 > date2) {
var tempDate = date1;
date1 = date2;
date2 = tempDate;
}
date1.setDate(date1.getDate());
var dateArr = [];
var i = 0;
while (!(date1.getFullYear() === date2.getFullYear() && date1.getMonth() === date2.getMonth() && date1.getDate() === date2.getDate() + 1)) {
dateArr[i] = date1.getFullYear() + "-" + ((date1.getMonth() + 1) < 10 ? ('0' + (date1.getMonth() + 1)) : (date1.getMonth() + 1)) + "-"
+ (date1.getDate() < 10 ? ('0' + (date1.getDate())) : (date1.getDate()));
i++;
date1.setDate(date1.getDate() + 1);
}
return dateArr;
}
</script>
</body>
</html>


方法2:

思路:利用utc时间比较日期大小,每次增加一天的utc时间,直至日期相同。

<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html>
<head>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>

<script src="yourpath/jquery-1.11.1.min.js"></script>
<script src="yourpath/bootstrap.min.js"></script>

<script>
$(function () {
var datatmp = dataScope('2014-05-01', '2015-05-10');
for (var i = 0; i < datatmp.length; i++) {
document.write(datatmp[i] + "<br>");
}
});
</script>

<script>
function dataScope(start, end) {
var datatext = [];
var startindex = new Date(start).valueOf();
var endindex = new Date(end).valueOf();
var textlength = (endindex - startindex) / 86400000;
for (var i = 0; i <= textlength; i++) {
var date = new Date(startindex);
Y = date.getFullYear() + '-';
M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
D = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate());
//                        console.log(Y + M + D);
var tmp = Y + M + D;
datatext.push(tmp);
startindex += 86400000;
}
return datatext;
}
</script>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  js jquery