【发布时间】:2022-01-21 19:58:42
【问题描述】:
我在 nodejs 中使用 express 作为我的后端并为我的前端做出反应。
在后端,我使用 Date.now() 然后添加 toLocaleDateString() 使其格式为 12/25/2021。 出于某种原因,当我插入 MongoDB 时,Date.now() 的行为很奇怪。
一个简单的“new Date()”返回为“2021-12-20T05:01:48.055Z”,并且 Date.now() 返回完全相同的东西......为什么会这样?以前从未发生过。
当我在 Web 浏览器控制台中键入 Date.now() 时,它会返回正确的内容。
这是我的代码:
export const postSnippet = async function (req, res) {
// Create new snippet
let snippet = new Snippet({
title: req.body.title,
code: req.body.code,
creator: req.body.creator,
createdDate: Date.now(),
updatedDate: Date.now(),
collections: req.body.collections,
});
try {
// Save snippet to database
await snippet.save();
return res.status(201).json({ message: "Snippet created", snippet });
} catch (error) {
// Error handling
return res.status(500).json({
message: "Failure creating snippet.",
error: error.message,
});
}
};
【问题讨论】:
-
""静态 Date.now() 方法返回自 1970 年 1 月 1 日 00:00:00 UTC 以来经过的毫秒数。 - 是定义。您想在
createdDate字段中存储什么? -
我希望它返回类似“1639979481806”的内容,而不是“2021-12-20T05:43:39.278Z”。稍后当我想显示日期时,我将使用 myDate.toLocaleDateString() 使其显示类似于 1/1/2021
-
您可以使用
const created = new Date(snippet.createdDate)将时间戳转换回对象。然后你可以拨打created.toLocalDateString() -
行得通!谢谢。
标签: javascript node.js mongodb time