在 javascript 中,如何查找日期数在 1 个月、3 个月或 6 个月以下
How to find number of dates falls under 1 month or 3 months or 6 months in javascript?
我有些困惑,无法将日期数定在 1 个月、3 个月或 6 个月或特定时间段以下。怎么办呢?。日期格式为 月/日/年。日期范围将动态添加。任何人都可以帮助解决这个问题。
例如
- 全部 (10)
- 上个月(6)
- 最近 3 个月(3)
- 最近 6 个月(1)
- 2015/12/25 - 2016/01/25 (7)
我的前数组是
var array = ['01/05/2016','01/08/2016','01/09/2016','01/10/2016','01/11/2016','01/12/2016','12/25/2015','11/25/2015','11/29/2015','10/25/2015'];
var currentDate = '02/04/2016';
我必须循环数组并创建 li 元素。第一个 li 元素应该告诉数组的总数,下一个 li 元素应该告诉过去一个月的日期计数,下一个 li 应该告诉过去 3 个月。如何在循环内隔离。
您可以通过找出日期之间的差异来执行此类操作
var array = ['01/05/2016', '01/08/2016', '01/09/2016', '01/10/2016', '01/11/2016', '01/12/2016', '12/25/2015', '11/25/2015', '11/29/2015', '10/25/2015', '9/25/2015'];
var currentDate = '02/04/2016';
$('#range').change(function() {
var range = this.value;
//get the range value
var result = array.filter(function(v) {
// filter arry using filter()
var diff = Math.abs((new Date(currentDate)).getTime() - (new Date(v)).getTime());
// parse two dates and get difference between them
return Math.ceil(diff / (1000 * 3600 * 24)) <= range * 30;
// get the number of days difference and compare with the range
});
$('#list').html('Count : ' + result.length + '<br> Array : <pre> ' + JSON.stringify(result, null, 3) + '</pre>')
// showing result in json format
}).change()
// triggering change event
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select id="range">
<option value=1>1</option>
<option value=2>2</option>
<option value=3>3</option>
<option value=6>6</option>
</select>
<div id="list"></div>
有用的问题:在javascript中获取2个日期之间的差异?
更新:根据您的需要,您可以做类似的事情
var array = ['01/05/2016', '01/08/2016', '01/09/2016', '01/10/2016', '01/11/2016', '01/12/2016', '12/25/2015', '11/25/2015', '11/29/2015', '10/25/2015'];
var currentDate = '02/04/2016';
$('#range').change(function() {
var range = this.value;
//get the range value
var result = range == 1 ? getRes(range).length : getRes(range).length - getRes($(':selected', this).prev().val()).length;
// getting count diff if range is greater than 1
$('#list').html('Count : ' + result);
// showing result in json format
}).change()
// triggering change event
function getRes(range) {
return array.filter(function(v) {
// filter arry using filter()
var diff = Math.abs((new Date(currentDate)).getTime() - (new Date(v)).getTime());
// parse two dates and get difference between them
return Math.ceil(diff / (1000 * 3600 * 24)) <= range * 30;
// get the number of days difference and compare with the range
});
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select id="range">
<option value=1>1</option>
<option value=3>3</option>
<option value=6>6</option>
</select>
<div id="list"></div>
相关文章:
- 通过将6个月添加到今天来获得最后一个月的日期's日期
- 在javascript中,起始日期不得早于13个月
- JavaScript:获取第一个月前 6 个月的日期的最简单方法
- 如何使用jquery获取下一天的日期和下个月的日期
- Later.js-下个月同一日期
- Javascript日期对象:从5月31日跳到下个月得到7月1日
- 如何在javascript中检查日期是否在本周、本月或下个月内
- jQuery UI 日期选择器:向另一个日期选择器添加 6 个月
- 如何在 javascript 中以 YYYYDDMM 格式有效地获取三个月前的日期
- 如何使用JQXDateTimeInput设置日期时添加6个月并减去日期
- 增加下个月的 JavasScript 日期对象,当天数增加时
- 角度JS显示+1个月日期
- 如何从当前日期值中减去 24 个月并将其分配给另一个变量
- 使用JavaScript显示日期+3个月
- Javascript-获取前几个月的日期
- 如何在javascript中筛选日期以仅获取最近4个月的日期
- javascript选择一个日期和下一个自动设置的3个月的差异
- 在javascript中查找第n个月之后的日期
- 将生效日期从行更改为下个月自动
- Javascript函数,它接受一个月/日期并显示12个月/日期