我在MySQL中定义了以下列:
some_ts DATETIME(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000'
通常情况下,我会使用PHP的date()
函数,例如date("Y-m-d H:i:s")
,但会将微秒数保留为默认值。有没有办法使用date()
给我这个,所以我可以在数据库中反映出来?
答案 0 :(得分:3)
根据定义,PHP date()
方法格式化一个unix时间戳,它只跟踪时间到第二个。您可以使用DateTime::format()
来获取当前的微秒:
$dt = new DateTime();
$ts = $dt->format('Y-m-d H:i:s.u');
var_dump($ts); // 2018-01-04 01:28:33.12345
答案 1 :(得分:1)
您可以修改microtime()
的输出,并将其附加到此date()
来电。
echo date("Y-m-d H:i:s.").(explode('.', explode(' ', microtime())[0])[1]);
输出:
2018-01-04 10:28:17.226338
注意:对于那些对此表现持怀疑态度的人;它比使用new Datetime()
快了大约33%。