PHP ile güncellenen zaman aynı şekilde format değil bir PostgreSQL damgası alanı

2 Cevap php

I have a timestamp with timezone field in PostgreSQL. When I update this field, I use something like this:

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

SQL çalışıyor olsa da, kaydedilmiş tarih klasik timestamp with timezone tarihe biraz farklı görünüyor.

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

The numbers removed on update are probably milliseconds but I'm not sure. I would like to know if there is a means to obtain with PHP the same format of date?

2 Cevap

Sadece zaman damgası biri ikinci çözünürlüğe ihtiyacınız varsa, bir saniyeden daha iyidir varsayılan çözünürlük olarak, buna göre veritabanı tasarımı var.

Örneğin aşağıdaki sütun tanımı kullanın:

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
    )

Sen the microtime() PHP function mikrosaniye almak için kullanabilirsiniz.