将UnixTime转换为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"] = 15788888888888888888.98765

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

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

我可以找到的大多数功能都切断了.98765,我不想要那个。

我整理了上面显示的黑客攻击。是否有更好的方法和/或更多CPU有效的方法。

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

文档说 date()会修剪毫秒,因为它期望一个整数,但是此功能不会。

最新更新