Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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.

like image 984
MHS Avatar asked May 22 '13 05:05

MHS


People also ask

How can I get previous month moments?

An even easier solution would be to use moment. date(0) . the . date() function takes the 1 to n day of the current month, however, passing a zero or negative number will yield a dates in the previous month.

How do I get the date back in JavaScript?

We use getDate() function to fetch the current date from the date object and subtract one day from it using the setDate() function which sets yesterday's date onto the date object.

How can I get yesterday date in HTML?

const yesterday = new Date(new Date(). setDate(new Date(). getDate() - 1));


1 Answers

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.

like image 67
Squeezy Avatar answered Oct 11 '22 14:10

Squeezy