jQuery使用导航从当前日期添加减法日期

jQuery使用导航从当前日期添加减法日期,jquery,date,Jquery,Date,使用简单的导航动态更改日期时,我在更新数据属性时遇到了一个小问题: 以下是html: <button id="prev" data-date="2016, 04, 10">Previous</button> <button id="next" data-date="2016, 04, 03">Next</button> 在FF和Chrome中,一切都很好,但IE ans Safari回归了 楠,楠,楠 我还创建了jsbin:根据需要,您需要将字符

使用简单的导航动态更改日期时,我在更新数据属性时遇到了一个小问题:

以下是html:

<button id="prev" data-date="2016, 04, 10">Previous</button>
<button id="next" data-date="2016, 04, 03">Next</button>
在FF和Chrome中,一切都很好,但IE ans Safari回归了 楠,楠,楠

我还创建了jsbin:

根据需要,您需要将字符串“2016,04,10”转换为“2016/04/10”,然后才能继续

有关日期格式的详细信息,请参阅

在您的情况下,需要使用一个简单的字符串replace:.replace(/,/g,“-”)

对于数据atribute而不是使用.attr use

function addDays(noOfDays,date){
var origTimezoneOffset=date.getTimezoneOffset();
日期=新日期(date.getTime()+(noOfDays*(1000*60*60*24));
var offsetDiff=(date.getTimezoneOffset()-origtTimeZoneOffset)*60*1000;
日期=新日期(date.getTime()+offsetDiff);
var month=(date.getMonth()+1);
var day=(date.getDate());
如果(月<10){
月份='0'+月份;
}
如果(第10天){
天='0'+天;
}
var formatted=date.getFullYear()+','+month+','+day;
返回格式;
}
$(函数(){
$(“#上一页,#下一页”)。在('click',函数(e)上{
var string=$(this.attr('data-date').replace(/,/g,'-');
if($(this.attr('id')=“next”){
$(this.attr(“数据日期”,addDays(7,新日期(字符串));
$(“#prev”).attr('data-date',addDays(-7,新日期(字符串));
}否则{
$(this.attr('data-date',addDays(-7,新日期(字符串)));
$(“#next”).attr('data-date',addDays(7,新日期(字符串));
}
});
});

以前的
下一个
根据需要,您需要先将字符串“2016,04,10”转换为“2016/04/10”,然后再进行处理

有关日期格式的详细信息,请参阅

在您的情况下,需要使用一个简单的字符串replace:.replace(/,/g,“-”)

对于数据atribute而不是使用.attr use

function addDays(noOfDays,date){
var origTimezoneOffset=date.getTimezoneOffset();
日期=新日期(date.getTime()+(noOfDays*(1000*60*60*24));
var offsetDiff=(date.getTimezoneOffset()-origtTimeZoneOffset)*60*1000;
日期=新日期(date.getTime()+offsetDiff);
var month=(date.getMonth()+1);
var day=(date.getDate());
如果(月<10){
月份='0'+月份;
}
如果(第10天){
天='0'+天;
}
var formatted=date.getFullYear()+','+month+','+day;
返回格式;
}
$(函数(){
$(“#上一页,#下一页”)。在('click',函数(e)上{
var string=$(this.attr('data-date').replace(/,/g,'-');
if($(this.attr('id')=“next”){
$(this.attr(“数据日期”,addDays(7,新日期(字符串));
$(“#prev”).attr('data-date',addDays(-7,新日期(字符串));
}否则{
$(this.attr('data-date',addDays(-7,新日期(字符串)));
$(“#next”).attr('data-date',addDays(7,新日期(字符串));
}
});
});

以前的
下一个

谢谢。你救了我一天,谢谢你。你救了我一天。
    function addDays(noOfDays, date) {
        var origTimezoneOffset = date.getTimezoneOffset();
        date = new Date(date.getTime() + (noOfDays * (1000 * 60 * 60 * 24)));
        var offsetDiff = (date.getTimezoneOffset() - origTimezoneOffset) * 60 * 1000;
        date = new Date(date.getTime() + offsetDiff);

        var month = (date.getMonth() + 1);
        var day = (date.getDate());
        if (month < 10) {
            month = '0' + month;
        }
        if (day < 10) {
            day = '0' + day;
        }
        var formatted = date.getFullYear() + ', ' + month + ', ' + day;
        return formatted;
    }
    $("#prev, #next").on('click', function() {
        var string = $(this).attr('data-date');

        if ($(this).attr('id') === "next") {
            $(this).attr("data-date", addDays(7, new Date(string)));
            $("#prev").attr('data-date', addDays(-7, new Date(string)));
        } else {
            $(this).attr('data-date', addDays(-7, new Date(string)));
            $("#next").attr('data-date', addDays(7, new Date(string)));
        }
    });