【问题标题】:Javascript -How can I convert DDMMYYYY to format (YYYY-MM-DD)?Javascript - 如何将 DDMMYYYY 转换为格式 (YYYY-MM-DD)?
【发布时间】:2022-02-02 18:31:46
【问题描述】:

在我的项目中,我有 PostgreSql 表,其中包含 date(数据类型日期)列。从列接收的日期正在传递给 getData 函数。

我得到03122021 格式的输出,我想将其转换为2021-12-03 (YYYY-MM-DD) DATE ONLY 格式。如何进行转换?

 async getData(date){
         console.log("date is ", date);     ---->>> date is 03122021
        const d = new Date(Date.parse(date));
        console.log('d', d)                  ---->> d Invalid Date
    }

【问题讨论】:

标签: javascript typescript date sequelize.js


【解决方案1】:

所以将字符串解析成它可以识别的格式

const date = '03122021'
const d = new Date(date.replace(/(\d{2})(\d{2})(\d{4})/,'$2/$1/$3'));
console.log(d);


const d2 = date.replace(/(\d{2})(\d{2})(\d{4})/,'$3-$2-$1');
console.log(d2);

【讨论】:

  • 谢谢,但我只需要date 2021-12-03,没有时间戳。你能帮我解决这个问题吗? ——
  • 所以只是格式化它没有日期....更改替换行
【解决方案2】:

您可以在 sql 查询中转换日期:

SELECT TO_CHAR(dateColumn, 'yyyy-mm-dd') AS formattedDate FROM ...

【讨论】:

  • 您好,这是我正在使用的查询return (await this._permanent.findAll({ where: { data_date:date } })).map((term) => ({}} 我可以在哪里添加?谢谢
【解决方案3】:

我知道这不是完美的答案,但如果你总是得到这种类型的值,那么你可以这样做

const dateValue = '03122021'
let day = dateValue.substring(0,2)
let month = dateValue.substring(2,4)
let year = dateValue.substring(4,8)
const date =`${year}-${month}-${day}`
console.log(date)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    • 2011-10-22
    • 2011-03-18
    • 1970-01-01
    相关资源
    最近更新 更多