javascript - 使用 PHP 将 MySQL 时间以毫秒转换为 javascript 时间戳

标签 javascript php mysql timestamp milliseconds

我有来自 mysql 的时间戳,例如:“2016-08-03 11:11:41.04000”。 此时间戳是 CONCAT('date', ' ', 'time') 选择的结果。

我需要将 PHP 的时间戳转换为纯数字时间戳,这样我就可以在保留毫秒精度的情况下使用 javascript 中的时间戳。

关于这个主题的其他问题只涉及没有 MySQL 毫秒片段的日期,或者只是建议 strtotime(''datestring) * 1000,这会丢失毫秒精度。

需要保留毫秒精度,以便在 javascript 中使用。

最佳答案

您可以使用 DateTime目的。构造函数几乎可以使用任何日期/时间格式。

$datetime = new DateTime('2016-08-03 11:11:41.04000');
echo $datetime->getTimestamp();
// output: 1470215501

如以下评论所述,使用 getTimestamp 将丢失毫秒部分,因为 UNIX 时间戳基于秒,不能存储小数秒。如果需要,您可以考虑自己的时间戳语法。例如,输出每个数字之间没有任何分隔符的日期和时间:

$datetime = new DateTime('2016-08-03 11:11:41.04000');
echo $datetime->format('YmdHisu');
// output: 20160803111141040000

另一方面,JavaScript 能够直接解析包含毫秒的日期时间字符串。所以你也可以直接将输入传递给JS,而不需要在PHP中进行转换。

var datetime = new Date('2016-08-03 11:11:41.04000');
console.log(datetime.toJSON());

关于javascript - 使用 PHP 将 MySQL 时间以毫秒转换为 javascript 时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38740204/

相关文章:

Javascript Node 请求如何发送 GET 变量

java - 以编程方式在android中缩放webview

php - 如何在 Mysql PHP 中匹配字符串中的值

mysql - mariadb/mysql NOW() 和 TIMESTAMPDIFF 行为 - 是设计使然吗?

javascript - 时间戳中的错误日期

javascript - 使用 CSP 在 Web Worker 中启用 'new Function'

php - 如何从 CLI 运行 php 脚本?

php - 使用非键列从sql表中查询数据

mySQL分区

mysql - 仅从两个实体中获取匹配的记录