在jQuery中获得两个日期之间的年份

时间:2015-06-01 08:16:07

标签: jquery date

我需要在jQuery中的两个日期之间获得所有年份 例如,如果我有这两个日期(“2014-5-1”,“2017-4-6”),我需要像他们一样(2014年,2015年,2016年,2017年)。 所以任何人都可以帮助我 提前致谢

4 个答案:

答案 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;
}

FIDDLE

答案 1 :(得分:2)

不需要jQuery。

&#13;
&#13;
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;
&#13;
&#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"));
});