如何在node.js后端获取昨天的日期?

时间:2015-08-10 06:00:02

标签: javascript node.js date date-format

我在节点后端使用日期格式包,我可以使用

获取今天的日期
var today = dateFormat(new Date());

以我想要的相同或其他方式约会。我仍然没有采取任何正确的方法。我暂时用大量代码手动计算昨天的日期。除了手动编写之外还有其他方法吗?

8 个答案:

答案 0 :(得分:13)

试试这个:

var d = new Date(); // Today!
d.setDate(d.getDate() - 1); // Yesterday!

答案 1 :(得分:5)

如果您对使用日期进行计算感兴趣,我会看看moment.js,您可以尝试手动执行此操作,甚至使用JavaScript / node.js中的内置Date对象时遇到许多问题闰年和夏令时问题。

http://momentjs.com/

例如:

var moment = require('moment');
var yesterday = moment().subtract(1, 'days');
console.log(yesterday.format());

答案 2 :(得分:0)

从今天起提取昨天的日期

//optimized way 
        var yesterday = new Date();
        yesterday.setDate(yesterday.getDate()-1);
        console.log(yesterday) // log yesterday's date 


//in-detail way 
        var today = new Date();
        var yesterday = new Date();
        yesterday.setDate(today.getDate()-1);
        console.log(yesterday) // log yesterday's date

答案 3 :(得分:0)

您还可以像这样更改时间对象的小时,分​​钟,秒和毫秒属性。

var date = new Date();
    date.setDate(date.getDate()-1);
    date.setHours(hour);
    date.setMinutes(minute);
    date.setSeconds(seconds);
    date.setMilliseconds(milliseconds);

答案 4 :(得分:0)

以人们熟悉的格式获取字符串

// Date String returned in format yyyy-mm-dd
function getYesterdayString(){
    var date = new Date();
    date.setDate(date.getDate() - 1);
    var day = ("0" + date.getDate()).slice(-2);
    var month = ("0" + (date.getMonth() + 1)).slice(-2); // fix 0 index
    return (date.getYear() + 1900) + '-' + month + '-' + day;
}

答案 5 :(得分:0)

Date类将给出当前系统日期和current_ date-1将给出昨天的日期。

例如:

var d = new Date(); // Today!
d.setDate(d.getDate() - 1); // Yesterday!

答案 6 :(得分:0)

尝试使用名为node-datetime的库

var datetime = require('node-datetime');
var dt = datetime.create();
// 7 day in the past
dt.offsetInDays(-1);
var formatted = dt.format('Y-m-d H:M:S');
console.log(formatted)

答案 7 :(得分:-1)

var date=new Date();
var date=new Date(date.setDate(date.getDate()-1));
console.log(date);

这将为您提供相同的日期格式,但未针对极端情况进行测试。