請幫我在字符串轉換成時間format[Hr:Min:Sec]
的Javascript - 轉換時間戳到毫秒Highcharts Y軸
這裏是我的一塊
seriesData_1.push(parseFloat($(this).attr('myVar')));
我試圖將此更改爲:
seriesData_1.push(Date.parse("1-1-1" + ($(this).attr('myVar'))));
但沒有運氣。該myVar
將持股價值20:57:13
更新:我在Highcharts & Javascript和使用指導#1啞所以,我得到了我想要的東西。
這是它。我有myVar
系列20:57:13
等Hr:Min:Sec
格式,需要繪製在Y axis
。得知我們在Y軸上有datetime
類型,可以爲你繪製圖表。但爲此,您需要將時間戳轉換爲毫秒。
這是我爲
yourtime = $(this).attr('myVar');
hms = yourtime.split(':');
msecs = hms[0] * 3600000 + hms[1] * 60000 + hms[2]*1000;
seriesData_1.push(msecs);
做現在,我已經得到了它轉換成毫秒,獲得此畫在與Y軸H:M:S
格式,你需要使用dateTimeLabelFormats
y axis
下,如下
type: 'datetime',
dateTimeLabelFormats: {
millisecond: '%H:%M:%S',
second: '%H:%M:%S',
minute: '%H:%M:%S',
hour: '%H:%M:%S'
},
讓你的工具提示使用H:M:S
格式排列,添加此
tooltip: {
enabled: true,
formatter: function() {
var main = '<b>'+ Highcharts.dateFormat('%A, %b %e, %Y', this.x) +'</b>';
s = Math.floor(this.y/1000);
m = Math.floor(s/60);
s = s % 60;
h = Math.floor(m/60);
m = m % 60;
h = h % 24;
if (h < 9) h = "0" + h;
if (m < 9) m = "0" + m;
if (s < 9) s = "0" + s;
return '<b>'+ this.x +'</b><br>' + '<span style="color:green">Value-</span>' + [h, m, s].join(':');
}
},
希望這有助於爲新手和我一樣:)
什麼DOE這與阿賈克斯呢?代碼中的XMLHttpRequest對象在哪裏? – epascarello
也許我正在密集,但已不是'20:57:13'已經在'小時:分鐘:秒'格式? – Amadan
@epascarello這個代碼是在高分辨率下的ajax模塊 – Sathy