我有以下GET函数将查询字符串转换为片刻(或日期)对象。我已经运行了一堆测试,而基本上是一个时刻。我似乎并不接受req.query.m作为有效的字符串。如果我对输入进行硬编码,则Moment工作正常,并且我能够自己获取查询字符串。
查询字符串是:
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的函数
提前致谢!
答案 0 :(得分:0)
尝试使用moment(parseInt(req.query.m))
您也可以使用moment(req.query.m,'x') 第二个参数是格式字符串。 X代表秒,x代表自1970年以来的毫秒。(unix ts)