使用PHP将带有毫秒的时间戳插入Postgres表

使用PHP将带有毫秒的时间戳插入Postgres表,php,sql,postgresql,Php,Sql,Postgresql,我有一张Postgres表,如下所示: create table test ( time_stamp timestamp ); 我想用PHP生成一个字符串,将当前时间以毫秒(或微秒)插入表中 根据其他一些研究,我尝试插入以下结果: date('Y-m-d H:i:s.u', time()) 但我只有几秒钟的时间。有什么想法吗?我以为在PHP中有一种简单的方法可以做到这一点,但显然没有。以下是解决方案: function get_time() { $ti

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

create table test
    (
        time_stamp timestamp
    );
我想用PHP生成一个字符串,将当前时间以毫秒(或微秒)插入表中

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

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

但我只有几秒钟的时间。有什么想法吗?

我以为在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;
}
或者您可以使用日期:

list($usec, $sec) = explode(' ', microtime()); 
$usec = str_replace("0.", ".", $usec);
print date('H:i:s', $sec) . $usec;       
RTFM:它返回秒数。如果您想要毫秒,那么请注意,
date()
无论如何都需要秒作为输入,因此如果您传入一个微时间,您将得到一个遥远的未来时间字符串,因为它将比date()的预期值大1000000倍。