2016-05-05 230 views
0
function getData(thing, thingDate) { 
    var fThingDate = moment(thingDate).format('MM/DD/YYYY'); 
    return getAPIData('/api/things?thing=' + thing + '&thingDate=' + fThingDate).then(function (results) { 
     return results.data; 
    }); 
} 

thingDate2016-04-30T00:00:00(根據調試器),但是當我格式化,fThingDate變得1/1/2016。爲什麼要進入今年的第一場?我該如何阻止它?在moment.js格式化日期給出2016年1月1日

+0

適用於我:https://jsfiddle.net/h37cL4Lo/。更多地檢查你的變量,以確保它們是你的想法。 – dan08

+0

無法重現您的結果。如果moment.js只能看到年份「2016」,則會得到該結果。解析字符串時,應始終傳遞格式。 – RobG

回答

0

當datetime是格式爲2016-04-30T00:00:00的字符串時,似乎momentjs有問題。我在IE 10和Windows Server 2012 Std中運行了這個。

但是,這似乎解決它:

function getData(thing, thingDate) { 
    var fThingDate = moment(new Date(thingDate)).format('MM/DD/YYYY'); 
    return getAPIData('/api/things?thing=' + thing + '&thingDate=' + fThingDate).then(function (results) { 
     return results.data; 
    }); 
} 

注:指責它在IE瀏覽器之前,似乎有幾個人跑進過去同樣的問題也是如此。

相關問題