Moment.js不接受查询字符串作为有效输入

时间:2016-03-01 00:42:42

标签: javascript http get momentjs

我有以下GET函数将查询字符串转换为片刻(或日期)对象。我已经运行了一堆测试,而基本上是一个时刻。我似乎并不接受req.query.m作为有效的字符串。如果我对输入进行硬编码,则Moment工作正常,并且我能够自己获取查询字符串。

查询字符串是:

  

http://localhost:8080/file/newCalendar?m=1455910939

app.get('/file/newCalendar', function(req, res) {
    var dateSelect = req.query.m;
    var selectedDate = moment(req.query.m);
    var selectedMonth = selectedDate.month();

    jsontest = {
      'testQuery': dateSelect,
      'testMomentOnQuery': moment(req.query.m),
      'testMomentOnVariable': moment(dateSelect),    
      'testMomentMonth': moment(12345678).month(),
    };

res.json(jsontest);
})

我也尝试过使用Date()代替片刻。

 app.get('/file/newCalendar', function(req, res) {
    var selectedDate = Date(req.query.m);
    var selectedMonth = selectedDate.getMonth();

    jsontest = {
      'selectedDate': selectedDate,
      'selectedMonth': selectedMonth,
    };

res.json(jsontest);
})

Date()工作正常但是.getMonth()函数得到

  

TypeError:selectedDate.getMonth不是Object.handle的函数

提前致谢!

1 个答案:

答案 0 :(得分:0)

尝试使用moment(parseInt(req.query.m))

您也可以使用moment(req.query.m,'x') 第二个参数是格式字符串。 X代表秒,x代表自1970年以来的毫秒。(unix ts)