繁体   English   中英

使用 PHP 将时间戳以毫秒为单位插入 Postgres 表

[英]Insert timestamp with milliseconds to Postgres table with PHP

我有一个 Postgres 表,如下所示:

create table test
    (
        time_stamp timestamp
    );

我想用 PHP 生成一个字符串,该字符串将在表中插入当前时间,以毫秒(或微秒)为单位。

根据其他一些研究,我尝试插入以下结果:

date('Y-m-d H:i:s.u', time())

但我只有几秒钟。 有任何想法吗?

或者您可以使用日期:

list($usec, $sec) = explode(' ', microtime()); 
$usec = str_replace("0.", ".", $usec);
print date('H:i:s', $sec) . $usec;       

我以为有一种简单的方法可以在PHP中执行此操作,但显然没有。 解决方法如下:

function get_time() {
    $time = microtime(true);
    $micro_time = sprintf("%06d", ($time - floor($time)) * 1e6);
    return date('Y-m-d H:i:s.', $time).$micro_time;
}

我正在使用 datetime [2] 类中的 date_create [1]

$dt1 = date_create();
echo $dt1->format('Y-m-d H:i:s.u');

2021-09-09 11:12:04.292321

[1] https://www.php.net/manual/en/function.date-create

[2] https://www.php.net/manual/en/class.datetime.php

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM