2016-02-29 350 views
2

從當前日期減少時間,我有問題。我的代碼如下所示:減去當前日期和時間5分鐘javascript

var d = new Date(), 
year = d.getUTCFullYear(), 
month = ('0'+(d.getUTCMonth()+1)).slice(-2), 
day = ('0'+d.getUTCDate()).slice(-2), 
hour = ('0'+d.getUTCHours()).slice(-2), 
minute = ('0'+d.getUTCMinutes()).slice(-2), 
second = ('0'+d.getUTCSeconds()).slice(-2); 

var startDate = year+'/'+month+'/'+day+'-'+hour+':'+minute+':'+second; 
console.log(startDate); 
+0

最新問題? –

+0

問題是這是當前時間,我想從這個時間減去5分鐘 – Karan

+0

minute =('0'+ d.getUTCMinutes())。slice(-2) - (5), –

回答

3

獲取的毫秒日期變量,subs 5分鐘,並從中創建一個新的日期對象:

var d = new Date() 
// d = Mon Feb 29 2016 08:00:09 GMT+0100 (W. Europe Standard Time) 
var milliseconds = Date.parse(d) 
// 1456729209000 
milliseconds = milliseconds - (5 * 60 * 1000) 
// - 5 minutes 
d = new Date(milliseconds) 
// d = Mon Feb 29 2016 07:55:04 GMT+0100 (W. Europe Standard Time) 
+0

謝謝.... @ Gerald Schneider – Karan

0

您可以通過

minute = ('0'+d.getUTCMinutes()).slice(-2)-5

var d = new Date(), 
 
    year = d.getUTCFullYear(), 
 
    month = ('0'+(d.getUTCMonth()+1)).slice(-2), 
 
    day = ('0'+d.getUTCDate()).slice(-2), 
 
    hour = ('0'+d.getUTCHours()).slice(-2), 
 
    minute = ('0'+d.getUTCMinutes()).slice(-2), 
 
    second = ('0'+d.getUTCSeconds()).slice(-2); 
 

 
    if (minute>=5) 
 
     minute = minute-5; 
 
    else { 
 
     minute = (parseInt(minute) + 60) - 5; 
 
     hour = hour - 1; 
 
    } 
 

 
    var startDate = year+'/'+month+'/'+day+'-'+hour+':'+minute+':'+second; 
 
    alert(startDate);

+2

這可能會導致負數。 (另外,它需要在*片之前完成*) – nnnnnn

+1

現在檢查,我正在編輯 – Munawir

+0

@Munawir,我懷疑你需要條件,如果你遵循'getMinutes/setMinues'的方法,建議_nnnnnn_ – Rayon

1

如果你準備使用新的日期操作JS稱爲一刻JS簡單。減去。

你可以簡單地做到這一點在下面一個功能:

moment().subtract(5, 'minutes'); 

Moment JS Docs

+1

爲只需要3個命令的任務添加14kb的代碼似乎有點過分。 –

+0

只是一個建議。適合複雜的日期驅動應用程序。 –

0

你可以使用這樣的

var original = new Date(); 
 
var subtract5min = new Date(); 
 
alert("before : " + original); 
 
subtract5min.setTime(original.getTime() - 5*60*1000); 
 
alert("after : " + subtract5min);

+0

這也可能導致負面分鐘。 –

+0

謝謝,更新了我的答案 – C2486