【问题标题】:How can I require date format "yyyy-mm-dd" without parsing and reformatting?如何在不解析和重新格式化的情况下要求日期格式“yyyy-mm-dd”?
【发布时间】:2022-02-02 08:17:49
【问题描述】:

我正在使用 PostGreSql,它在表 2021-12-03T00:00:00.000Z 之一中包含日期列。我使用 nodejs 开发了 API 来从表中获取数据。

下面是我编写的用于格式化日期并传递给类的函数。这工作得很好,我收到2021-12-03 作为输出

    formatDate(date) {
        var d = new Date(date),
            month = '' + (d.getMonth() + 1),
            day = '' + (d.getDate() + 1),
            year = d.getFullYear();
    
        if (month.length < 2) 
            month = '0' + month;
        if (day.length < 2) 
            day = '0' + day;
    
        return [year, month, day].join('-');
    }

    async getData(date){

        return {
            DataLine: await this._dateLine.getData1(d)
        }
    }

app.js

class Data extends Model {

    constructor(conn, schema) {
        super(conn, schema, "data", {
           
            Date: date(true),
            number: integer(true),  
          ...many other column
        }, true);
    }

    async getData1(date) {
        return (await this._permanent.findAll({ where: { td:date } })).map((term) => ({
            td: term.transDate,
            number: term.number,
        }));
    }
}

有没有办法require them in the "yyyy-mm-dd" format to begin with 而不是像上面那样解析/重新格式化,因为我已经得到格式为yyyy-mm-dd 的日期,我的函数重做吗?

【问题讨论】:

  • 为什么需要解析和重新格式化?
  • @evolutionxbox 因为这是我 console.log 的原始日期 - 2021-12-03T00:00:00.000Z
  • 我不认为上面的链接回答了我的问题
  • 改用this 怎么样?
  • 之所以有这么多的cmets,是因为想要得到什么是极其困难的。 Nikita's answer from yesterday 会做你想做的事,并且实际上与你现在提议的相同。 date.toJSON 给出与date.toISOString 完全相同的结果。这将为您提供 UTC 日期。我的(已删除)答案返回本地日期。

标签: javascript node.js date sequelize.js refactoring


【解决方案1】:

获取 yyyy-mm-dd 的最简单方法之一是new Date().toISOString().split('T')[0]

【讨论】:

  • 嗨 Nikita,我编辑了我的代码
  • 嗨,我不需要今天的日期。我正在从数据库中获取日期值
  • 新日期(yourDate).toISOString().split('T')[0]
  • @DharmishaDoshi 那你需要什么?
  • 我不知道为什么它给了Invalid Date。代码 formatDate(date) { console.log('date', date) const d = new Date(date) console.log('New Date', d);} 和输出 - date 03122021 New Date Invalid Date
猜你喜欢
  • 1970-01-01
  • 2016-01-02
  • 1970-01-01
  • 2013-03-18
  • 1970-01-01
  • 1970-01-01
  • 2017-09-06
  • 2021-04-18
  • 1970-01-01
相关资源
最近更新 更多