html - 如何在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 集合级别。
请帮忙。
解决方案
时间戳应该始终以一致的方式存储,例如ISODate()
在 MongoDB 中,并且始终在代码中以一致的方式处理,例如Date
在 Javascript 中的对象。
只有当你
- 将时间戳作为字符串呈现给用户,或
- 解析来自用户的时间字符串
然后你做转换。
不幸的是 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"));
推荐阅读
- javascript - 客户端 onTextChanged
- java - 如何在 Java 中使用 opencv 或 ffmpeg 在网络摄像头流上覆盖视频
- java - 如果我删除不管理此关联的实体,是否有办法让 Hibernate 处理删除 @ManyToMany 关联中的条目?
- lua - 错误 main.lua:98:尝试索引本地“e”(一个数值)
- c++ - Unix TCP socket send() 不能正确下载除 HTML 文件以外的任何其他文件?
- php - 如何从任何控制器 Laravel 5.7 访问模型内的变量?
- hive - 设置什么配置单元属性以避免交叉产品?
- unity3d - 在统一编辑器中,点光源没有亮度
- javascript - 使用 React 和 Node/express 服务器的 SendGrid 配置
- css - 如何在保持可维护性的同时避免移动/桌面 CSS 之间的重复?