如何在 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
}
如果你能使用外部包试试 moment js,它会帮助你
格式仅接受默认的 create_at 和 update_at 列,如果您格式化另一列,那么您可以像这样使用 get dates
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 official doc
2021 年(adonis-ts-app 版本 4)
在模型中使用 @column.date()
装饰器:
@column.date()
public data_emissao: DateTime
见the reference: ORM: Decorators
然后你可以使用 luxons toFormat() 转换为字符串:
data_emissao.toFormat('yyyy')
我需要向数据库发送日期格式,例如: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
}
如果你能使用外部包试试 moment js,它会帮助你
格式仅接受默认的 create_at 和 update_at 列,如果您格式化另一列,那么您可以像这样使用 get dates
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 official doc
2021 年(adonis-ts-app 版本 4)
在模型中使用 @column.date()
装饰器:
@column.date()
public data_emissao: DateTime
见the reference: ORM: Decorators
然后你可以使用 luxons toFormat() 转换为字符串:
data_emissao.toFormat('yyyy')