如何在 Node.js 中格式化来自 Mongoose 的日期?

新手上路,请多包涵

我正在尝试更改从我的 Mongo 数据库中获取的日期格式。目前他们看起来像这样:

 Fri Sep 16 2011 19:05:17 GMT+0900 (JST)

我试过对它们调用 .toString('yyyy-MM-dd') 但没有任何变化。我不知道它们是 Date 对象还是只是原始字符串。

我试过检查猫鼬手册并用谷歌搜索一堆,但还没有找到任何东西。

有任何想法吗?

原文由 benui 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 381
2 个回答

您必须先创建一个 Date 对象:

 var date = new Date(dateStr);  // dateStr you get from mongodb

var d = date.getDate();
var m = date.getMonth()+1;
// ...

原文由 Philipp Kyeck 发布,翻译遵循 CC BY-SA 3.0 许可协议

一种现代的方法是使用 momentjs ,它既可以在节点中使用,也可以在浏览器中使用,非常有用且易于使用。对于当前的问题,我在遵循所有文档要求后在节点中这样解决了:

 var moment = require('moment');
var fomatted_date = moment(photo.date_published).format('YYYY-MM-DD');

photo.date_published 直接来自猫鼬。

原文由 eloone 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题