我遇到convert json date to javascript date format中 user7397787 提出的类似问题。
我所拥有的是一个包含MySQL表数据的JSON字符串。其中一个数据是日期。我使用自己的代码将此日期转换为正常日期,如下所示:
var comp_date = [];
for (var i in data) {
var fields = data[i].myDate.split('/');
var mm = fields[0];
var dd = fields[1];
var yy = fields[2];
mm < 10 ? '0' + mm : mm;
dd < 10 ? '0' + dd : dd;
var formatted_date = mm + "/" + dd + "/" + yy;
var dt = new Date(formatted_date);
comp_date.push(dt);
}
此日期用于条形图。现在发生的事情是 x轴的日期显示为Sat Sep 09 2017 00:00:00 GMT+0500 (Time Zone here)
,而 y轴日期显示为1505900000000, 1505800000000, 1505700000000, 1505600000000
。我想以mm-dd-yyyy
格式双方约会。
我尝试使用convert json date to javascript date format中 sammysaglam 解释的方法转换日期,如下所示:
var date = unix_to_readable( data[i].myDate);
然后我得到的所有日期都返回了相同的值,即01-01-1970
。
任何人都知道发生了什么或我做错了什么?
谢谢。
答案 0 :(得分:1)
我记下了你说1505900000000
遇到问题的其中一个号码。此代码段显示了如何在javascript中将其转换为可读字符串(通过日期对象)。如果您运行该代码段,则会向您显示您要查找的日期字符串。
var dateNumberString = '1505900000000'; // This is what you get from JSON
var dateNumber = parseInt(dateNumberString); // make it a number
var date = new Date(dateNumber);// javascript will convert to date object for you
var dateString = date.toString(); // make it a string
alert(dateString);
&#13;
然后按照您希望的方式格式化日期:
var dateObj = new Date();
var formattedString = getFormattedDate(dateObj);
alert(formattedString);
// This function takes a javscript date object
function getFormattedDate(date) {
var year = date.getFullYear();
var month = (date.getMonth() + 1).toString(); // javascript month is zero based
month = month.length > 1 ? month : '0' + month;
var day = date.getDate().toString();
day = day.length > 1 ? day : '0' + day;
return month + '-' + day + '-' + year;
}
&#13;