javascript - MySql 时间戳和 JavaScript 时间

标签 javascript time highcharts

我在格林威治标准时间 [2013-07-19 10:12:56] 的 MySQL 数据库中有一个时间戳。 我知道它应该作为 DateTime 和 UTC 在数据库中,但不幸的是,它就是这样。

我需要提取时间戳并传递到 JavaScript [HighCharts]。

$time = strtotime('2013-07-19 10:12:56');
echo("Converting to UNIX Time: ");echo $time;
echo("Converting to JS Time: ");echo ($time*1000);

由于 JavaScript 需要以毫秒为单位的时间,因此乘法购买 1000

Output: Converting to UNIX Time: 1374253976

Output: Converting to JS :Time: 1374253976000

我的问题是为什么它在 HighCharts 中显示为 17.12

当我将 1374253976000 放入 http://www.epochconverter.com 时我得到:
GMT:2013 年 7 月 19 日星期五 17:12:56 GMT 这是不正确的。数据库中显示的时间应为 10:12:56。

知道为什么会在 7 小时后结束吗?

最佳答案

Epochtimeconverter表示 Fri, 19 Jul 2013 10:12:56 GMT 具有以下纪元时间

Epoch timestamp: 1374228776 
Timestamp in milliseconds: 1374228776000
Human time (GMT): Fri, 19 Jul 2013 10:12:56 GMT
Human time (your time zone): Friday, July 19, 2013 3:42:56 PM

请注意,它不是 1374253976 正如您得到的那样。所以就是这个问题,从epochtime到highcharts等的转换是正确的。是你的时代要错了

除非另有说明,否则 PHP 会将字符串视为服务器的时区。 试一试,将时区明确指定为 GMT,如下所示

$time = strtotime('2013-07-19 10:12:56' . ' GMT');
echo("Converting to UNIX Time: ");echo $time;
echo("Converting to JS Time: ");echo ($time*1000);

您观察到的 7 小时差异可能是因为您的服务器位于时区 -7?

关于javascript - MySql 时间戳和 JavaScript 时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17782594/

相关文章:

highcharts - 如何在 Flutter 应用中使用 HighCharts dart 库?

javascript - 放置在表格单元格边框上时未触发放置事件

javascript - 如何获取 javascript 中组合键的键码?

javascript - 如何触发循环中创建的所有元素的onclick?

r - 过滤到特定列中的特定日期

linux - date命令会影响gettimeofday()的结果吗?

javascript - Highcharts 栏边框

javascript - 如果在某个时间间隔内没有获得 MouseOver,则使用 jQuery 自动隐藏 div

time - 交易记录保存的 Unix 时间替代方案

Highcharts饼图会忽略percentDecimals工具提示设置,并存在浮点不正确的问题