1

我在 PostgreSQL 中有一个带时区字段的时间戳。当我更新这个字段时,我使用这样的东西:

$date = date('Y-m-d H:i:s');

尽管 SQL 工作正常,但保存的日期似乎与带有时区日期的经典时间戳有点不同。

Example:

Default value set to "now()":
date 2009-04-06 14:39:53.662522+02

Update with a date set in php:
$date = date('Y-m-d H:i:s');
date 2009-04-06 14:39:53+02

更新时删除的数字可能是毫秒,但我不确定。我想知道是否有办法获得与 PHP 相同格式的日期?

4

2 回答 2

1

If you only need one second resolution of timestamp you have to design your database accordingly, as by default resolution is better than a second.

Use for example the following column definition:

last_access_time timestamp with time zone not null
    default date_trunc('second',now())
    constraint last_access_time_full_second check (
        date_trunc('second',last_access_time)=last_access_time
    )
于 2009-04-07T08:13:20.933 回答
0

您可以使用microtime() PHP 函数来获取微秒。

于 2009-04-06T20:48:32.343 回答