我需要在jQuery中的两个日期之间获得所有年份 例如,如果我有这两个日期(“2014-5-1”,“2017-4-6”),我需要像他们一样(2014年,2015年,2016年,2017年)。 所以任何人都可以帮助我 提前致谢
答案 0 :(得分:3)
这样的东西会返回一个带有年份的数组
function getYears(from, to) {
var d1 = new Date(from),
d2 = new Date(to),
yr = [];
for (var i=d1.getFullYear(); i<=d2.getFullYear(); i++) {
yr.push( i );
}
return yr;
}
答案 1 :(得分:2)
不需要jQuery。
var y1 = new Date("2014-5-1").getFullYear();
var y2 = new Date("2017-4-6").getFullYear();
var years = [];
if(y1 < y2){
for(var i = y1; i <= y2; i++){
years.push(i);
}
}
else{
for(var i = y2; i <= y1; i++){
years.push(i);
}
}
console.log(years);
&#13;
答案 2 :(得分:1)
如果您正确格式化日期,可以使用JavaScript Date对象完成。
function calculateYears(date1, date2){
date1 = new Date(date1);
date2 = new Date(date2);
var period = date2.getFullYear() - date1.getFullYear();
if (date2.getMonth() < date1.getMonth() - 1){
period--;
}
if (date1.getMonth() - 1 == date2.getMonth() && date2.getDate() < date1.getDate()){
period--;
};
return period;
};
console.log(calculateYears("2014-05-01" , "2017-04-06"));
答案 3 :(得分:0)
像这样:JSFIDDLE
var getyears = function(firstdate, seconddate){
var firstyear = firstdate.getFullYear();
var secondyear = seconddate.getFullYear();
for(var i=firstyear;i<=secondyear;i++) {
alert(i);
};
};
$('#getyears').click(function(){
alert('get years');
getyears(new Date("2014/5/1") , new Date("2017/4/6"));
});