如何获取帖子创建日期以及如何发布用户

时间:2020-07-06 18:52:03

标签: node.js adonis.js

我正在尝试以Jun 20, 2020的格式创建帖子创建日期,{{ post.created_at }}就像这样Fri Jul 03 2020 23:43:41 GMT+0100 (West Africa Standard Time),我想将其更改为显示Jun 20, 2020

我的数据库中也有一个posts表,并且我有user_id列,其中包含发布该帖子的用户的ID,如何获取用户名,我尝试这样做{{ post.users.username }}它显示未定义

型号

'use strict'

const Model = use('Model')
const moment = require('moment');
const date = new Date();

class Post extends Model {

static formatDates (field, value) {
        if (field === 'created_at') {
          return value.format('MMM D, YYYY')
        }
        return super.formatDates(field, value)
      }
}

我的观点

<h1>{{ post.created_at }}</h1>

2 个答案:

答案 0 :(得分:0)

您将必须格式化日期。

相应地更改代码。

const moment = require('moment');
const date = new Date();

console.log(moment(date).format("MMM D, YYYY")

正如我在文档中看到的那样,您必须在模型中格式化日期

示例

class User extends Model {
  static formatDates (field, value) {
    if (field === 'created_at') {
      return value.format('MMM D, YYYY')
    }
    return super.formatDates(field, value)
  }
}


  static castDates(field, value) {
    if (field === 'created_at') {
      return value.format('MMM D, YYYY')
    }
  }

我认为castDate应该可以工作。

Adonis内部使用moment

答案 1 :(得分:0)

无需使用任何程序包即可实现格式。

var date = new Date('Fri Jul 03 2020 23:43:41 GMT+0100 (West Africa Standard Time)').toDateString();
console.log([date.slice(4, 7), ',', date.slice(7)].join(''))