簡體   English   中英

當與express.js一起使用時,moment.js中的日期錯誤

[英]Wrong date in moment.js when used with express.js

帶快遞

const express = require('express');
const moment = require('moment');

const app = express();

const generateSearchRange = (year) => (month) => {
    return {
        start: 0,
        stop: moment([year]).endOf('year')
    }
};

app.get('/foo/:year', (req, res) => {
   const year = req.params.year; // 2017
    res.send(generateSearchRange(year)(12)); // { "start": 0, "stop": "2016-12-31T22:59:59.999Z" }
});

app.listen(3000);

沒有快遞

const moment = require('moment');

const generateSearchRange = (year) => (month) => {
    return {
        start: 0,
        stop: moment([year]).endOf('year')
    }
};

console.log(generateSearchRange(2017)(12)); // { start: 0, stop: moment("2017-12-31T23:59:59.999") }

我不理解發生了什么事,同一函數給了我兩個不同的輸出。

它與我正常工作。 我剛剛復制了您的代碼

矩的字符串表示形式由express用於構造響應。 它調用toString方法來執行此操作。 您可以通過在添加到響應之前記錄日期來確認這一點。

let date = generateSearchRange(year)(12);
console.log(date)
res.send(date);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM