将unix时间转换为mysql datetime,保留一秒的分数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将unix时间转换为mysql datetime,保留一秒的分数相关的知识,希望对你有一定的参考价值。

$id["REQUEST_TIME_FLOAT"]="'".date( 'Y-m-d H:i:s.', $_SERVER["REQUEST_TIME_FLOAT"]).substr((($_SERVER["REQUEST_TIME_FLOAT"]-floor($_SERVER["REQUEST_TIME_FLOAT"]))),2,20)."'";

说$ _SERVER [“REQUEST_TIME_FLOAT”] = 157888888888888.98765

$t=new DateTime()
$t->setTimestamp( only accept an integer)  Fail

此外,date命令只是将其切断,即使你将u添加到它只添加00000的格式而不是实际的毫秒数。

我能找到的大多数功能都切断了.98765,我不希望这样。

我把上面显示的黑客放在一起。有没有更好的方法和/或更有效的方法来做到这一点。

答案

尝试使用DateTime::createFromFormat("U.u", $_SERVER["REQUEST_TIME_FLOAT"] );

文档说date()会缩短毫秒,因为它需要一个整数,但是这个函数不会。

以上是关于将unix时间转换为mysql datetime,保留一秒的分数的主要内容,如果未能解决你的问题,请参考以下文章

将dateTime格式转换为Unix时间戳或将Unix时间戳转换为dateTime格式

MySQL:将 INT 转换为 DATETIME

将mysql DATETIME列转换为纪元秒

MySQL将日期字符串转换为Unix时间戳

如何将 DateTime 转换为 MySQL 中的数字?

将 datetime 转换为 Unix 时间戳并将其转换回 python