如何在javascript中获取最后一个小时、上个月和昨天?

如何在javascript中获取最后一个小时、上个月和昨天?,javascript,date,datetime,datetime-format,Javascript,Date,Datetime,Datetime Format,我试图从当前日期和时间获取最后一小时、上个月和昨天,我使用date()对象获取当前日期和时间: function fetchCurrentDateTime() { var currentDateobj = new Date() var Day = currentDateobj.getDate() var Hour = currentDateobj.getHours() var Month = 1+(currentDateobj.getMonth()) va

我试图从当前日期和时间获取最后一小时、上个月和昨天,我使用date()对象获取当前日期和时间:

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);
    }
我想要一个函数,它不仅返回日期或时间,还返回完整的日期时间,如:

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'
我还想问,如果小时是
00:00:00
,那么最后一个小时的结果会是什么?月份和日期也是如此

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()
返回日期对象的时间戳。然后,只需减去适当的毫秒数,并根据该数创建一个新对象。如果需要,您现在可以按照自己的意愿格式化日期。

您的意思是这样吗?:我的意思是说我不想制作像
year+'-'+month+'-'+day这样的字符串
@squezy:您能帮我格式化结果吗:
'2013-05-21 10:06:22'
,而时间戳看起来像:
Date{2013年5月22日星期三11:02:03 GMT+0500(PKT)}
看看这个可能会一次性解决您的问题。