2016-02-29 84 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