【问题标题】:ParseInt method returns NaN when parsing a Negative ValueParseInt 方法在解析负值时返回 NaN
【发布时间】:2019-04-11 17:55:26
【问题描述】:

我想要实现的是从我的 GET 方法的查询参数中解析一个字符串 (-1800000)。但是当我打印结果值时,它返回 NaN。

这是通话的终点:

日历?day=1555131600000?offset=-18000000

在服务器端解析偏移数据是这样的:

const offsetInt = parseInt(req.query.offset)

但是当我在控制台中打印时它返回 NaN

Console.log(offsetInt)

我尝试过使用

 parseInt(req.query.offset,10) 

 parseInt(req.query.offset).valueOf())

但它一直返回 NaN。

我想使用 offsetInt 变量为我的 UTC 日期时间添加/减少毫秒数,以便获取日期的初始小时。

const start = moment(day)
    .startOf('day')
    .add(offsetInt,'milliseconds')
    .valueOf();

【问题讨论】:

  • 我认为您应该先尝试console.log(req.query.offset),并确保您拥有您认为的价值。
  • calendar?day=1555131600000?offset=-18000000 错误在这里,应该是calendar?day=1555131600000&offset=-18000000
  • calendar?day=1555131600000?offset=-18000000,你有两个?在您的查询字符串中,它应该是 calendar?day=1555131600000&offset=-18000000
  • 天哪,我犯了多么愚蠢的错误。现在它完美运行!谢谢大家。

标签: javascript node.js momentjs parseint


【解决方案1】:

您的端点和查询字符串并不正确,所以您有:

calendar?day=1555131600000?offset=-18000000

基本上你只能访问这个参数的值:

day=1555131600000

您需要用& 分隔每个参数,这样您就可以访问offset 值:

calendar?day=1555131600000&offset=-18000000

【讨论】:

    猜你喜欢
    • 2016-05-20
    • 2012-04-28
    • 2014-11-16
    • 1970-01-01
    • 2018-03-02
    • 2018-10-01
    • 1970-01-01
    • 2016-01-14
    • 2012-07-13
    相关资源
    最近更新 更多