PHPで文字列の日時をタイムスタンプに変換する際に問題があります。
$time = strtotime('2012-12-28 01:02:43');
echo $time; //it returns 1356627763
その整数値を日時に戻すと、正しくありません (28/12/2012 00:02:43)。基本的に1時間遅れです。
my_format_datetime(strtotime('2012-12-28 01:02:43'));
以下は私の my_format_datetime 関数です:
> function my_format_datetime($unix)
> {
> if ($unix == '' || !is_numeric($unix))
> {
> $unix = strtotime($unix);
> }
> else
> {
> $timezone = 3600*(DEFAULT_GMT + date("0"));
> $unix = gmdate("d/m/Y H:i:s", $unix + $timezone);
> }
>
> return $unix;
> }
しかし、time() 関数を使用して変換すると、正しいです。
私を助けてください。本当にありがとう。