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更新了答案…请使用更新答案