首页 > 解决方案 > 如何在mongodb中更改日期格式

问题描述

我使用 nodejs 创建了 mongodb 集合,如下所示:

var mongoose = require('mongoose');
var TTTUsersSchema = new mongoose.Schema({
   username: String,
   password:String,
   active: Boolean,
   created_at: { type: Date, default: Date.now },
   updated_at: { type: Date, default: Date.now },
});

module.exports = mongoose.model('Users', TTTUsersSchema);

由于创建记录,默认日期存储为 Tue Nov 13 2018 20:53:47 GMT+0000(GMT 标准时间),因此当我获取此字段时,它会以 HTML 形式显示,如上。我想以 DD/MM/YY HH:MM 格式显示它。

我需要改变哪里?在 HTML UI 级别?或在 Mondgodb 集合级别。

请帮忙。

标签: htmlnode.jsmongodb

解决方案


时间戳应该始终以一致的方式存储,例如ISODate()在 MongoDB 中,并且始终在代码中以一致的方式处理,例如Date在 Javascript 中的对象。

只有当你

  1. 将时间戳作为字符串呈现给用户,或
  2. 解析来自用户的时间字符串

然后你做转换。

不幸的是 JavaScriptDate对象受到严重限制,所以我建议使用像Moment.js这样的包,它提供了很多格式化功能:

const moment = require('moment');

// date is a Date object you got, e.g. from MongoDB
const time = moment(date);
console.log(time.format("DD/MM/YY HH:mm"));

推荐阅读