0

我从 SQL 数据库中获取了一些 DateTime 格式的数据,并试图在浏览器上显示它,但它没有以可读的日期时间格式显示。它显示如下: 在此处输入图像描述 如何转换我收到的日期从数据库到可读的日期时间并显示它。我正在使用以下代码来显示日期:

items.forEach(function (entity) {

document.getElementById("auditListHolder").innerHTML =
document.getElementById("auditListHolder").innerHTML +
"<tr><th>Date Assigned:</th> <td>" + entity.DateAssigned + "</td></tr>" +
"<tr><th>Date Downloaded:</th> <td>" + entity.DateDownloaded + "</td></tr>" +
"<tr><th>Submission Due Date:</th> <td>" + entity.DateDue + "</td></tr>" ;

}); 

这给出了如上图所示的输出。如何将这些日期字段转换为可读日期以显示它们?

4

1 回答 1

1

/Date(...)/格式是通过 JSON 传递日期的通用约定(但只是约定),它没有日期的概念。该数字(通常)是自大纪元(格林威治标准时间 1970 年 1 月 1 日)以来的秒数或毫秒数。因此,要将这些转换为可读的日期,您将提取数字,将其乘以 1000(如果它以秒为单位)(并且它似乎在您的示例中),将其传递给Date构造函数,然后格式化生成的日期。

第一部分(转换为 a Date)看起来这样:

function dateFromSpecialString(str) {
    var match = /\/Date\((\d+)\)\//.exec(str),
        num = match && parseInt(match[1], 10);
    if (num) {
        return new Date(num * 1000); // Assuming num is seconds, not milliseconds
    }
    return null;
}
于 2013-10-24T10:59:41.637 回答