我如何将这次 11:34
转换为 JavaScript 时间戳。任何可用的 JavaScript 功能。
我正在尝试使用 Flot 库创建一个 float 图。在我的图表中,x 轴为时间,y 轴为计数。为了创建数据部分,我需要将时间转换为时间戳,就像 API 文档中指定的那样。
http://people.iola.dk/olau/flot/API.txt
这是我的代码
var datasets = {
"usa": {
label: "Logged Users",
data: [[10:55, 4], [11:00, 1], [11:05, 4], [11:10, 2], [11:15, 3], [11:20, 1], [11:25, 5]]
}
};
if (datasets.length > 0){
$.plot($("#placeholder"), datasets, {
yaxis: { min: 0,tickDecimals: 0 },
xaxis: { mode: "time",timeformat: "%H:%M" }
});
}
它不起作用,因为我指定了确切的时间而不是数字。所以我需要将其转换为时间戳格式。
请帮助我。
谢谢
最佳答案
使用 Date object 的实例:
var sTime = '11:34';
var oDate = new Date();
oDate.setUTCHours(
parseInt(sTime.substr(0, 2), 10),
parseInt(sTime.substr(3, 2), 10),
0,
0
);
var sTimestamp = oDate.getTime();
另请参阅this example .
===更新===
当时间是本地时间而不是 UTC 时,您可以通过以下方式设置时间:
oDate.setHours(
parseInt(sTime.substr(0, 2), 10),
parseInt(sTime.substr(3, 2), 10),
0,
0
);
另请参阅this example .
附注:getTime()
的结果以毫秒为单位。
===更新===
要映射当前数据集,您可以使用以下脚本(使用 UTC;如果您想要本地时间,请在 setter 中删除 UTC):
var aCountries = [ "usa" ];
var oDate = new Date();
oDate.setSeconds(0, 0);
for (var i = 0; i < aCountries.length; i++) {
datasets[aCountries[i]].data =
datasets[aCountries[i]].data.map(function(oElement) {
oDate.setUTCHours(
parseInt(oElement[0].substr(0, 2), 10),
parseInt(oElement[0].substr(3, 2), 10)
);
return [
oDate.getTime()
, oElement[1]
];
});
}
另请参阅this example .
关于javascript - 如何使用 javascript 或 jquery 将时间转换为 javascript-timestamps?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9390789/