2017-06-06 92 views
3

我想將mongo db數據庫中的numberLong日期轉換爲javascript中的dd/mm/yyyy格式。如何通過JavaScript傳遞長號碼?

當我把直接硬編碼值,如下面的代碼,它給了我正確的結果:

function getDateIfDate(d) { 
    var m = d.match(/\/Date\((\d+)\)\//); 
    return m ? (new Date(+m[1])).toLocaleDateString('en-US', {month: '2-digit', day: '2-digit', year: 'numeric'}) : d; 
} 

console.log(getDateIfDate("/Date(1460008501597)/")); 

這裏是我的代碼:

for(var i=0;i<keys;i++) 
       { 
       var tr="<tr>"; 
       tr+= "<td><input type='checkbox' name='record'></td>" 
       tr+="<td>"+positionList[i]["fromDate"]+"</td>"; 
       var j = (positionList[i]["fromDate"]); 
       console.log("value of j is =========="+j); 
       console.log(getDateIfDate("/Date(j)/")); // actual conversion should happen here 
} 

我應該讓我的代碼獲得什麼樣的變化所需格式的日期?

+0

什麼是j的值來代替舊線? –

+0

嗨,j的值是1496707200000 –

回答

2

您可以使用momentjs您的情況。這是非常簡單的使用,如果你想你的日期格式DD/MM/YYYY,只需添加下面的一行:

var formattedDate = moment(new Date()).format("DD/MM/YYYY"); 
2

你應該調用函數這樣getDateIfDate("/Date("+j+")/");

,而不是getDateIfDate("/Date(j)/")這意味着你正在傳遞字符串"/Date(j)/"


 
function getDateIfDate(d) { 
 
    var m = d.match(/\/Date\((\d+)\)\//); 
 
    return m ? (new Date(+m[1])).toLocaleDateString('en-US', {month: '2-digit', day: '2-digit', year: 'numeric'}) : d; 
 
} 
 

 

 
var j= 1460008501597; 
 

 
console.log(getDateIfDate("/Date("+j+")/"));

3
tr+="<td>"+positionList[i][new Date("fromDate").toLocaleString()]+"</td>"; 

嘗試這個新