如何在mongodb中更改日期格式

时间:2019-01-31 20:40:28

标签: html node.js 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);

自创建记录以来,默认日期存储为2018年11月13日星期二 20:53:47 GMT + 0000(格林尼治标准时间),所以当我获取此字段时 如上所述以HTML显示。我想以DD / MM / YY HH:MM显示 格式。

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

请帮助。

3 个答案:

答案 0 :(得分:0)

您需要在视图层设置日期时间格式。

  • 如果使用的是MVC,则一种选择是在控制器上进行格式化,或者在生成视图模型的层进行格式化。
  • 另一个选择是使用javascript格式化html。您可能需要使用像moment.js这样的lib

答案 1 :(得分:0)

时间戳记应始终以一致的方式存储,例如像MongoDB中的ISODate()一样,并且始终以一致的方式在代码中进行处理,例如就像Java中的Date对象一样。

仅当您

  1. 以字符串形式向用户显示时间戳记,或
  2. 从用户那里解析时间字符串

然后您进行转化。

不幸的是,JavaScript Date对象受到严格限制,因此我建议使用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"));

答案 2 :(得分:0)

假设当前日期为2018年11月13日星期二20:53:47 GMT + 0000
使用.toDateString()

var date = new Date();
console.log(date.toDateString());

它将显示:

Tue Nov 13 2018