繁体   English   中英

如何在 Adonisjs 中格式化日期?

[英]How to format Date in 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
}

format 只接受默认的 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 官方文档

2021 年(adonis-ts-app 版本 4)在您的模型中使用@column.date()装饰器:

@column.date()
public data_emissao: DateTime

请参阅参考资料:ORM:装饰器

然后您可以使用 luxons toFormat()转换为字符串:

data_emissao.toFormat('yyyy')

如果您能够使用外部包,请尝试使用 moment js,它将帮助您

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM