0

该字段值是一个数字,但我将输出作为字符串。

  1. 我要打字吗?我怎么做?
  2. 我尝试做一个 parseInt 但这也不起作用,我用错了吗?

代码:

    app.get("/api/timestamp/:date", function(req, res) {
      let dateString = req.params.date
      ...
      //This unix part here!
      if (dateString == 1451001600000) {
        res.json({ unix: 1451001600000, utc: "Fri, 25 Dec 2015 00:00:00 GMT"});
    }
});

我的o/p:

{
unix: "1451001600000",
utc: "Fri, 25 Dec 2015 00:00:00 GMT"
}

预期 o/p :

{
unix: 1451001600000,
utc: "Fri, 25 Dec 2015 00:00:00 GMT"
}
4

1 回答 1

1

Date 的强制转换和输入看起来不错。

尝试在 res.json 行之后的return第一个语句中添加一个语句。if否则,第 9 行也将针对这种情况运行,并且稍后会覆盖响应。

if (/\d{5,}/.test(dateString)) {
    let dateInteger = parseInt(dateString);
    res.json({ unix: dateString, utc: new Date(dateInteger).toUTCString() });
    return;
}

在您最近的编辑之后,我注意到您想要一个 unix 属性的数字,所以使用Number()或使用dateInteger

res.json({ unix: Number(dateString), utc: new Date(dateInteger).toUTCString() });
于 2021-03-09T02:44:36.117 回答