如何通过javascript传递长号码?

时间:2017-06-06 12:52:38

标签: javascript jquery logic

我想将数字长日期从mongo db数据库转换为javascript中的dd / mm / yyyy格式。

当我像下面的代码一样放置直接硬编码值时,它给出了正确的结果:

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
}

我应该在代码中进行哪些更改以获取所需格式的日期?

3 个答案:

答案 0 :(得分:3)

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

尝试用这个新行替换旧行

答案 1 :(得分:2)

您可以使用momentjs作为案例。使用起来非常简单,如果您想将日期格式设置为 DD / MM / YYYY ,只需添加以下行:

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

答案 2 :(得分: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+")/"));