首页 > 解决方案 > 如何在 Adonisjs 中格式化日期?

问题描述

我需要向数据库发送日期格式,例如:DD-MM-YYYY。或者使用 Edge 模板在前端格式化的某种方式

class AtendimentoSchema extends Schema {
  up () {
    this.create('atendimentos', (table) => {
      table.increments()
      table.date('data_emissao')
      table.timestamps()
    })
  }

  down () {
    this.drop('atendimentos')
  }
}

我试过了

class Atendimento extends Model {



        static formatDates (field, value) {
            if (field === 'data_emissao') {
              return value.format('DD-MM-YYYY')
            }
            return super.formatDates(field, value)
          }


}

** JSON 输出**

{
  "data_emissao": "2020-02-14",
  "id": 2
}

标签: javascriptadonis.js

解决方案


格式仅接受默认的 create_at 和 update_at 列,如果您格式化另一列,则使用这样的获取日期

static get dates () {
    return super.dates.concat(['column_name'])
  }

在你的情况下,列名是data_emissao

例子 :-

class Atendimento extends Model {


static get dates () {
    return super.dates.concat(['data_emissao'])
  }

static formatDates (field, value) {
     if (field === 'data_emissao') {
         return value.format('DD-MM-YYYY')
        }
     return super.formatDates(field, value)
   }


}

有关更多详细信息,请查看adonis.js 官方文档


推荐阅读