jquery中两个语言环境日期的差异

时间:2014-02-11 05:58:24

标签: date datetime datepicker

我从CJuidatepicker获得的语言为de,en,nl。 现在我需要找到jquery accordnig中所选语言的两个日期之间的差异。

我的代码是 var d = new Date();

        var month = d.getMonth()+1;
        var day = d.getDate()-1;

        var output = d.getFullYear() + '-' +
            ((''+month).length<2 ? '0' : '') + month + '-' +
            ((''+day).length<2 ? '0' : '') + day;


        var dateString1 = $('#Jobs_valid_date').val();
        var dateString2= output;

        var dateDiff = function ( dateString2, dateString1 ) {
            var diff = Math.abs(dateString2 - dateString1);
            if (Math.floor(diff/86400000)) {
                return Math.floor(diff/86400000);
            } else if (Math.floor(diff/3600000)) {
                return Math.floor(diff/3600000);
            } else if (Math.floor(diff/60000)) {
                return Math.floor(diff/60000);
            } else {
                return "< 1 minute";
            }
        };

        var new_date = dateDiff(new Date(dateString2), new Date(dateString1)); 
        var sum = (parseInt(new_date * feature) + parseInt(fixed))

它回归NAN ..请帮我解决这个问题

2 个答案:

答案 0 :(得分:0)

出于多种原因,不建议从头开始。如果使用库不是约束,请使用moment.js。它有计算日期差异的方法。它也有国际化支持。如果您的语言环境不受支持,您可以自己添加。如果您添加新的区域设置,欢迎您将其贡献给moment.js社区。

答案 1 :(得分:0)

试试这个,这对我有用。我想计算客户输入的两个日期之间的差异。

函数calculate(start_date,end_date) {

var t1 = start_date;

var t2 = end_date;

//一天内的毫秒数

var one_day = 1000 * 60 * 60 * 24;

//这里我们需要拆分输入日期以将其转换为标准格式

var x = t1.split(“/”);

var y = t2.split(“/”);

//日期格式(Fullyear,month,date)

var date1 = new Date(x [2],(x [1] -1),x [0]);

var date2 = new Date(y [2],(y [1] -1),y [0]);

//计算两个日期之间的差异,并转换为天数

NUMBEROFDAYS = Math.ceil((date2.getTime() - date1.getTime())/(one_day));

// numberofDays给出两个日期之间的差异。

$(“#Input_type_text).VAL(NUMBEROFDAYS);

}