How to get last hour, last month and yesterday in javascript?

14,212
var today = new Date();
var yesterday = new Date(today.getTime() - (1000*60*60*24));
var hourago = new Date(today.getTime() - (1000*60*60));

console.log(today);
console.log(yesterday);
console.log(hourago);

getTime() returns the timestamp of your Date object. You can then just substract the proper number of milliseconds and make a new object from that number. If needed, you can now format the dates in a way that you wish.

Share:
14,212

Related videos on Youtube

MHS
Author by

MHS

Updated on June 04, 2022

Comments

  • MHS
    MHS almost 2 years

    I am trying to get the last hour, last month and yesterday from current date and time, I am using Date() Object to get current date and time:

    function fetchCurrentDateTime() {
        var currentDateobj = new Date()
        var Day = currentDateobj.getDate()
        var Hour = currentDateobj.getHours()
        var Month = 1+(currentDateobj.getMonth())
        var Year = currentDateobj.getFullYear()
        console.log('Today is:', Day+'-'+Month+'-'+Year);
        console.log('yesterday was:', Day-1+'-'+Month+'-'+Year);
        console.log('Its', Hour, 'hrs');
        console.log('It was', Hour-1, 'an Hour back.');
        console.log('This is:', Month, 'Month');
        console.log('It was', Month-1, 'Month, a month ago.');
        console.log('It is', Year);
        }
    

    I want a function which would return me not only date or time but complete datetime like:

    Today: '2013-05-21 10:06:22'
    Yesterday: '2013-05-20 10:06:22'
    Current Hour: '2013-05-21 10:06:22'
    Last Hour: '2013-05-21 09:06:22'
    Current Month: '2013-05-21 10:06:22'
    Last Month: '2013-04-21 10:06:22'
    

    I also want to ask what if hour is 00:00:00, what would be the result of last hour then? Same is with month and date.

    • Ian
      Ian almost 11 years
      You mean like this?: jsfiddle.net/dGvc3
    • MHS
      MHS almost 11 years
      I mean to say that I don't want to make strings like year+'-'+month+'-'+day
  • MHS
    MHS almost 11 years
    @ Squeezy: Can you please help me to format the result like: '2013-05-21 10:06:22', whereas the time stamp looks like:Date {Wed May 22 2013 11:02:03 GMT+0500 (PKT)}
  • Squeezy
    Squeezy almost 11 years
    Take a look at datejs.com This will probably solve your problems in one go.