关于javascript:转换Unix日期格式

Converting Unix Date format

我有一个在 unix 视图中保存 DateTime 值的 JSON。

如何使用 JavaScript 将其转换为人类可读的值?
例如:

1
1503575274000

2017-08-24 15:11:54

我正在使用它使用谷歌可视化来构建图表,我的代码如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function drawChart() {
var jsonData = $.ajax({
    url:"jsonUrl",
    type:"GET",
    dataType: 'json',
    async:"false"
}).done(function (jsonData) {
    var data = new google.visualization.DataTable();
    data.addColumn('number', 'dateExecutes');
    data.addColumn('number', 'passed');
    data.addColumn('number', 'failed');

    jsonData.forEach(function (row) {
        data.addRow([
            row.dateExecutes,
            row.passed,
            row.failed,
        ]);
    });

我还需要使用常规日期格式而不是 DateExecutes


要操作日期/时间,我建议使用 Moment.js https://momentjs.com/docs/#/parsing/

1
2
3
var dateTimeStr = moment(1503575274000).format("Y-MM-DD HH:mm:ss");

console.log(dateTimeStr);
1
<script src="https://momentjs.com/downloads/moment.js">


这是 unix 时间码,如评论中所述,您可以像这样转换它:

1
new Date(1503575274000)

unix 时间戳是一种以运行总秒数来跟踪时间的方法。这个计数从 1970 年 1 月 1 日 UTC 的 Unix 纪元开始。因此,unix 时间戳只是特定日期和 Unix 纪元之间的秒数。


这是一个 UNIX 时间戳。您只需像这样将它传递给 Date

1
2
var d = new Date(1503575274000);
d.toISOString(); //"2017-08-24T11:47:54.000Z"