我正在尝试更改我从Mongo数据库获取的日期格式。目前它们看起来像这样:
Fri Sep 16 2011 19:05:17 GMT+0900 (JST)
我尝试过调用.toString('yyyy-MM-dd')
但没有任何变化。我不知道它们是Date
个对象还是只是原始字符串。
我已经尝试检查Mongoose手册并搜索了一堆,但还没有找到任何内容。
有什么想法吗?
答案 0 :(得分:20)
这样做的一种现代方法是使用momentjs,它既可以在节点中使用,也可以在浏览器中使用,非常有用且易于使用。对于当前的问题,我按照所有文档要求后在节点中解决了这个问题:
var moment = require('moment');
var fomatted_date = moment(photo.date_published).format('YYYY-DD-MM');
photo.date_published
直接来自mongoose。
答案 1 :(得分:17)
您必须先创建一个Date对象:
var date = new Date(dateStr); // dateStr you get from mongodb
var d = date.getDate();
var m = date.getMonth()+1;
// ...
答案 2 :(得分:10)
如何定义您的架构如下:
var someSchema = new Schema({
title: String,
created: Date
});
s.t。日期存储为mongoDB中的Date
对象。因此,当您阅读它时,您将拥有一个正确的Date
对象,您可以在其上使用可用的方法。
答案 3 :(得分:0)
只需添加
[Route("updatepassword/{password}/{email}")]
public IHttpActionResult updatepassword(string password,string email)
{
.........
.......
return response>0 ? Ok():BadRequest();
}
输出将是:{“ date”:“ Sat Nov 28 2020 22:57:38 GMT + 0530(印度标准时间)”}
答案 4 :(得分:0)
created_at:{ 类型:日期, 默认:Date.now } 为当前日期和时间添加这个简单的行
输出:----- 2021 年 7 月 2 日星期五 10:45:26 GMT+0530(印度标准时间)