Date.now() 返回错误的格式
Posted
技术标签:
【中文标题】Date.now() 返回错误的格式【英文标题】:Date.now() returning wrong format 【发布时间】: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()
行得通!谢谢。
【参考方案1】:
感谢 Cameron,我找到了解决方案。
在 Snippet.js 的 render() 中,我在返回之前添加了这个。
let newUpdatedDate = new Date(this.props.updatedDate);
let updatedDate = newUpdatedDate.toLocaleDateString();
然后添加到DIV
<div className="snippet-date">
Last updated updatedDate
</div>
感谢您的支持
非常感谢你们!我是 javascript 新手,但到目前为止我很喜欢它。 *** 是一个获得帮助的绝佳网站。我学到了很多东西。我相信这会让我接触到各种各样的新客户。在此之前,我只知道 html/CSS 和 php/mysql 用于后端/数据库。我曾经虔诚地喜欢 PHP,但现在我最喜欢的是 Nodejs,那是因为你可以学习和构建任何你想要的东西
【讨论】:
以上是关于Date.now() 返回错误的格式的主要内容,如果未能解决你的问题,请参考以下文章