2017-06-06 133 views
0

我從一個SharePoint庫拉動修改日期,使用下面的將其轉換:javascript日期返回的NaN NaN月NaN

function convertSPDate(d) { 
    // split apart the date and time 
    var xDate = d.split("")[0]; 
    var xTime = d.split(" ")[1]; 

    // split apart the hour, minute, & second 
    var xTimeParts = xTime.split(":"); 
    var xHour = xTimeParts[0]; 
    var xMin = xTimeParts[1]; 


    // split apart the year, month, & day 
    var xDateParts = xDate.split("-"); 
    var xMonth = xDateParts[1]-1;  
    var xDay = xDateParts[2]; 
    var xYear = xDateParts[0]; 

    var dDate = new Date(xYear, xMonth, xDay, xHour, xMin); 
    return dDate; 
} 

然後格式化它使用:

function getformattedDate(d){ 
var month = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sept", "October", "Nov" , "Dec"]; 
var getConvertedDate = d; 
return formattedDate = getConvertedDate.getDate() +" "+month[getConvertedDate.getMonth()] +" "+getConvertedDate.getFullYear();  
} 

我再試圖在不同項目的頁面上顯示此日期使用:

var getDate = getformattedDate(convertSPDate(getFilteredItems[i].modified)); 

但是,這只是返回NaN undefined NaN - 任何幫助都將非常感謝!

+3

第一次拆分看起來不對......應該是空格? – trincot

+3

你有沒有做過任何調試?我看到很多地方console.log可以縮小這個問題 –

+1

這個問題將通過包括示例輸入和預期輸出而得到很大改善。 –

回答

0

感謝@trincot - 是一個非常簡單的解決方案,我完全忽略了一個!

第一分割是錯誤的,只是需要一個空間......

感謝所有

0

對於它的價值,如果你使用moment.js這是一個班輪:

var d = moment("2017-06-06 19:15").format("D MMM YYYY");

jsbin link