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() 返回错误的格式的主要内容,如果未能解决你的问题,请参考以下文章

sql怎么把年月日日期转成年月格式。

元素内容必须由格式正确的字符数据或标记组成。

Binance api 密钥和秘密查询字符串格式错误

php的问题。我用的是mysql,若只显示今年的数据,表里时间格式是0000-00-00,sql语句该怎么写?

date对象以及格式化时间函数

Zend_Date 和 ISO_8601 格式的问题