javascript中的日期格式

javascript中的日期格式,javascript,Javascript,我想得到日期差: var dateString='2015-04-07T10:46:25Z'; var dt = new Date(value); var now = new Date(); var _MS_PER_DAY = 1000 * 60 * 60 * 24; var utc1 = Date.UTC(dt.getFullYear(), dt.getMonth(), dt.getDate()); var utc2 = Date.UTC(now.getFullYear(), now.getM

我想得到日期差:

var dateString='2015-04-07T10:46:25Z';
var dt = new Date(value);
var now = new Date();
var _MS_PER_DAY = 1000 * 60 * 60 * 24;
var utc1 = Date.UTC(dt.getFullYear(), dt.getMonth(), dt.getDate());
var utc2 = Date.UTC(now.getFullYear(), now.getMonth(), now.getDate());
var days=Math.floor((utc2 - utc1) / _MS_PER_DAY);//this is 415
结果必须采用以下格式:415d,03:06:33

最好的方法是什么?我得到了日期,但缺少时间。

试试这个
Try this

    var datetime = new Date("2015-04-07T10:46:25Z");
    var now = new Date();
    if (datetime < now) {
            var diffTime = now - datetime;
        }else{
            var diffTime = datetime - now;
        }
        var days = Math.floor(diffTime / 1000 / 60 / (60 * 24));

        var dateDiff = new Date( diffTime );

         var hour = dateDiff .getHours().toString().length == 1 ? '0' + dateDiff .getHours() : dateDiff .getHours();
         var minute = dateDiff.getMinutes().toString().length == 1 ? '0' + dateDiff.getMinutes() : dateDiff.getMinutes();
         var seconds = dateDiff.getSeconds().toString().length == 1 ? '0' + dateDiff.getSeconds() : dateDiff.getSeconds();

        console.log(days + "d "+ hour  + ":" + minute  + ":" + seconds);
var datetime=新日期(“2015-04-07T10:46:25Z”); var now=新日期(); 如果(日期时间<现在){ var diffTime=now-datetime; }否则{ var diffTime=datetime-now; } 变量天数=数学下限(diffTime/1000/60/(60*24)); var dateDiff=新日期(diffTime); var hour=dateDiff.getHours().toString().length==1?“0'+dateDiff.getHours():dateDiff.getHours(); var minute=dateDiff.getMinutes().toString().length==1?“0'+dateDiff.getMinutes():dateDiff.getMinutes(); var seconds=dateDiff.getSeconds().toString().length==1?“0'+dateDiff.getSeconds():dateDiff.getSeconds(); console.log(天+天+小时+分钟+秒);
试试这个
var datetime=新日期(“2015-04-07T10:46:25Z”);
var now=新日期();
如果(日期时间<现在){
var diffTime=now-datetime;
}否则{
var diffTime=datetime-now;
}
变量天数=数学下限(diffTime/1000/60/(60*24));
var dateDiff=新日期(diffTime);
var hour=dateDiff.getHours().toString().length==1?“0'+dateDiff.getHours():dateDiff.getHours();
var minute=dateDiff.getMinutes().toString().length==1?“0'+dateDiff.getMinutes():dateDiff.getMinutes();
var seconds=dateDiff.getSeconds().toString().length==1?“0'+dateDiff.getSeconds():dateDiff.getSeconds();
console.log(天+天+小时+分钟+秒);

您需要使用模数

var dt=新日期('2015-04-07T10:46:25Z');
var now=新日期();
var mil=1000;
var secondMil=milSecondMil*60;
var hourMil=secondMil*60;
var dayMil=小时数*24;
var diff=现在-dt;
var天数=数学下限(差值/日密耳);
var daysRemainder=diff%dayMil;
var小时=数学楼层(daysremainer/hourMil);
var HoursRequires=daysRemainder%hourMil;
var秒=数学地板(小时剩余/秒密耳);
var SecondsMainder=小时剩余%secondMil;
var milSeconds=数学楼层(秒维护器/milSecondMil);

日志(天+天+小时+小时-秒+秒-秒+密耳秒+密耳秒)您需要使用模数

var dt=新日期('2015-04-07T10:46:25Z');
var now=新日期();
var mil=1000;
var secondMil=milSecondMil*60;
var hourMil=secondMil*60;
var dayMil=小时数*24;
var diff=现在-dt;
var天数=数学下限(差值/日密耳);
var daysRemainder=diff%dayMil;
var小时=数学楼层(daysremainer/hourMil);
var HoursRequires=daysRemainder%hourMil;
var秒=数学地板(小时剩余/秒密耳);
var SecondsMainder=小时剩余%secondMil;
var milSeconds=数学楼层(秒维护器/milSecondMil);
日志(天+天+小时+小时-秒+秒-秒+密耳秒+密耳秒)我是这样做的:

    var dt = new Date(value);
    var now = new Date();
    var date1_ms = dt.getTime();
    var date2_ms = now.getTime();
    var diff=(date2_ms - date1_ms) / 1000;
    var tm = new Date(null, null, null, null, null, Math.floor(diff % 86400)).toTimeString().split(" ")[0];

    return Math.round(diff / (60 * 60 * 24)) + 'd, ' + tm;
我是这样做的:

    var dt = new Date(value);
    var now = new Date();
    var date1_ms = dt.getTime();
    var date2_ms = now.getTime();
    var diff=(date2_ms - date1_ms) / 1000;
    var tm = new Date(null, null, null, null, null, Math.floor(diff % 86400)).toTimeString().split(" ")[0];

    return Math.round(diff / (60 * 60 * 24)) + 'd, ' + tm;

使用像moment.js这样的库,可以大大简化js中的日期/时间操作。使用像moment.js这样的库,可以大大简化js中的日期/时间操作。@Simon更新了答案…请使用更新one@Simon更新了答案…请使用更新答案