2016-12-26 42 views
0

我想顯示我的var值extacly在另一個var下面,在這裏我的例子。如何在JavaScript中生成和操作Date對象?

var d = new Date(); 
var alldifftime = (d.getFullYear()+','+ d.getMonth()+','+ d.getDate()+','+ (d.getHours()-7)+','+ d.getMinutes()+','+ d.getSeconds()); 

var difftime = new Date() - new Date(Date.parse(new Date(alldifftime))); 

如何成爲

var difftime = new Date() - new Date(2016,11,26,19,41,48); 

2016,11,26,19,41,48在當前時間。

謝謝。

回答

0

如果你想獲得兩個日期之間的差值,它更簡化與momentjs:http://momentjs.com/docs/#/displaying/difference/

var dateNow = moment(); 
var dateBefore = moment().subtract(7, 'hours'); 
var dateDiff = dateNow.diff(dateBefore, "hours"); 
+0

真棒。解決我的問題,我從未使用過moment.js。 –

2

您共享的代碼按預期不工作的原因是連接運算符轉換數字值轉換爲字符串。請嘗試以下操作:

var d = new Date(), 
    dYear = d.getFullYear(), 
    dMonth = d.getMonth(), 
    dDate = d.getDate(), 
    dHours = d.getHours() - 7, 
    dMinutes = d.getMinutes(), 
    dSeconds = d.getSeconds(); 

// difftime will contain the time difference between the two dates in milliseconds 
var difftime = new Date() - new Date(dYear, dMonth, dDate, dHours, dMinutes, dSeconds); 
+0

真的很快反應,我是新手,對不起我的愚蠢問題,但我很感激,謝謝,這是工作。 –

+0

@StanleyAngelino請提高我們的答案和/或標記一個正確的,如果他們幫助你。謝謝! –

0

爲了得到一個日期,提前7個小時的第一次約會,複製日期和設置小時至7小時前。爲了得到兩個日期之間的區別,只是減去從另一個得到毫秒的差異,並轉換成任何你想要的時間單位(S)(比如說小時):

// Now 
 
var d0 = new Date(); 
 
// Copy for then 
 
var d1 = new Date(d0); 
 
d1.setHours(d1.getHours() - 7); 
 
console.log('The time now: ' + d0.toString() + 
 
      '\n7 hours ago : ' + d1.toString()); 
 

 
console.log('Diff time: ' + ((d0 - d1)/3.6e6) + ' hours');