任何人都可以帮助我,这让我发疯了。我用Javascript打招呼,我第一次遇到日期问题。
我已经问过了,但是没有人回答我: json with parsed time or timestamp to amchartss
基本上我有这个XHR电话。
getJSON = function(url) {
var xhr = new XMLHttpRequest();
xhr.open('get', url, true);
xhr.responseType = 'json';
xhr.onload = function() {
var status = xhr.status;
if (status == 200) {
chartLoad(xhr.response);
console.log(xhr.response);
} else {
console.log("oh shit");
}
};
xhr.send();
};
我在这里回复带有时间戳的JSON文件,如何将所有时间戳转换为日期YYYY-MM-DD HH:mm。
在代替时间戳之前,我在服务器上直接转换了日期字符串,这样我就不需要在客户端进行转换,但这种方式只适用于Chrome。
HELP!
答案 0 :(得分:1)
我喜欢将moment.js用于我的日期时间解析和格式化需求:
代码最终如下:
moment(some_timestamp).format('YYYY-MM-DD HH:mm')
答案 1 :(得分:0)
尽管JavaScript中没有原生的date.format方法,但您可以为一次性实现增加自己的方法。在你的情况下像:
var newDate = new Date(myTimeStamp);
var outDate = newDate.getFullYear()+"-"+(newDate.getMonth()+1)+"-"+newDate.getDate()+" "+newDate.getHours()+":"+newDate.getMinutes();
今天输出的日期:2014-5-15 16:7
注意getMonth的+1
从0开始计数
如果你想确保值总是两位数(即单个数字上的前导零),可能需要额外的摆弄
在xhr onload处理程序中执行此操作可能是这样的:
xhr.onload = function (e) {
if (this.status == 200) {
var blob = this.response;
var img = document.createElement('img');
img.onload = function (e) {
window.URL.revokeObjectURL(img.src); // Clean up after yourself.
};
img.src = window.URL.createObjectURL(blob);
document.body.appendChild(img);
var myTimeStamp = e.timeStamp;
//I would probably want to put this date code
//in a separate function somewhere
var newDate = new Date(myTimeStamp);
var outDate = newDate.getFullYear()+"-"+(newDate.getMonth()+1)+"-"+newDate.getDate()+" "+newDate.getHours()+":"+newDate.getMinutes();
var div = document.createElement('div');
div.innerHTML = outDate;
document.body.appendChild(div);
}
};
答案 2 :(得分:0)