[英]How to get time difference between two date time in javascript?
我想要兩個日期時間之間的持續時間。 我有開始日期,開始時間,結束日期和結束時間。 現在,我必須找到它們之間的區別。
實際上,我已經嘗試使用以下代碼,但是收到了“無效日期”之類的警報。
function myfunction()
{
var start_dt = '2013-10-29 10:10:00';
var end_dt = '2013-10-30 10:10:00';
var new_st_dt=new Date(start_dt);
var new_end_dt=new Date(end_dt);
alert('new_st_dt:'+new_st_dt);
alert('new_end_dt:'+new_end_dt);
var duration=new_end_dt - new_st_dt;
alert('duration:'+duration);
}
警報消息如下所示:
new_st_dt:invalid date
new_end_dt: invalid date
duration:NaN
當我在android模擬器中運行時,收到了這些警報消息。
請幫我怎么得到它? 如何實現呢?
您正在向該Date()
構造函數傳遞無效的ISO日期字符串。 它需要這樣的形式
YYYY-MM-DDThh:mm:ss
例如
2013-10-29T10:10:00
因此,您基本上忘記了將日期和時間分開的T
但是,即使瀏覽器現在讀入了ISO字符串,您也沒有unix時間戳進行計算。 你可以打電話
Date.parse( '2013-10-29T10:10:00' ); // returns a timestamp
或者您需要顯式解析Date對象 ,例如
var duration=(+new_end_dt) - (+new_st_dt);
進一步閱讀: https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse
嘗試將時間戳格式化為isoformat,以便javascript識別它們。 (您在日期和時間之間放置了“ T”)。 例如: '2013-10-29T10:10:00'
function dateDiff(){
var start_dt = '2013-10-29 10:10:00';
var end_dt = '2013-10-30 10:10:00';
var d1= start_dt ;
d1.split("-");
var d2= end_dt ;
d2.split("-");
var t1 = new Date(d2[0],d2[1],d2[2]);
var t2 = new Date(d1[0],d1[1],d1[2]);
var dif = t1.getTime() - t2.getTime();
var Seconds_from_T1_to_T2 = dif / 1000;
return Math.abs(Seconds_from_T1_to_T2);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.