Karan
Karan

Reputation: 1118

substract 5 minute from current Date and time javascript

I have problem while substracting time from current date. My Code looks like:

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);

Upvotes: 4

Views: 10974

Answers (5)

Hax0r
Hax0r

Reputation: 1813

You can simply use like below

var fiveMinuteAgo = new Date( Date.now() - 1000 * (60 * 5) )

Upvotes: 7

Niklesh Raut
Niklesh Raut

Reputation: 34914

You could use like this

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

Upvotes: 1

Pramod S. Nikam
Pramod S. Nikam

Reputation: 4539

If you are ready to use new date manipulation js called as moment js.

You can simply do it in one function as below:

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

Moment JS Docs

Upvotes: 2

Gerald Schneider
Gerald Schneider

Reputation: 17797

Get the milliseconds of the date variable, substract 5 minutes and create a new date object from it:

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)

Upvotes: 6

Munawir
Munawir

Reputation: 3356

You can simply substract by

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);

Upvotes: 0

Related Questions