sequelize输出datetime

当数据包使用datetime的时候,接口直接按照原格式返回会出现带有G,T等不符合预期的格式,那我们就设置一下返回格式为想要格式。
这里用到了moment,专门格式化时间的函数。

// models/user.js
const { DataTypes, Model } = require('sequelize');
const sequelize = require('./index');
const moment = require('moment');

class User extends Model { }
User.init({
  id: {
    // Sequelize 库由 DataTypes 对象为字段定义类型
    type: DataTypes.INTEGER,
    // 允许为空
    allowNull: false,
    // 主键
    primaryKey: true,
    // 自增
    autoIncrement: true,
  },
  user_name: {
    type: DataTypes.STRING,
    allowNull: false
  },
  authority: {
    type: DataTypes.INTEGER,
    allowNull: false
  },
  create_time: {
    type: DataTypes.STRING,
    allowNull: true,
    get() {
      return moment(this.getDataValue('create_time')).format('YYYY-MM-DD HH:mm:ss');
    }
  },
  update_time: {
    type: DataTypes.STRING,
    allowNull: true,
    get() {
      return moment(this.getDataValue('create_time')).format('YYYY-MM-DD HH:mm:ss');
    }
  }
}, {
  sequelize,
  modelName: 'user'
});

module.exports = User;

你可能感兴趣的:(sequelize输出datetime)