1

PHPで現在の日付と時刻を出力するために使用しました:

              $now = time();
              echo date('j M, Y H:i:s',$now); 

結果は、日付、月、年に関する限り正確です。しかし、時間は同じコンピューターで一致していません (localhost でテストしているように)。

4

3 に答える 3

1

タイムゾーンを操作するには、次の 3 つの方法があります。

  1. php.ini ファイルでデフォルトのタイムゾーンを設定する (非推奨):

    [Date]
    ; Defines the default timezone used by the date functions
    ; http://php.net/date.timezone
    date.timezone = America/Sao_Paulo
    

    これは、この php.ini によって構成されたサーバー上で実行されている PHP ファイルに対してのみ機能します。

  2. 初期化 PHP スクリプトでデフォルトのタイムゾーンを設定します。

    date_deafult_timezone_set

    date_default_timezone_set('America/Sao_Paulo');
    

    これは、ほとんどすべてのスクリプトで機能します。

  3. DateTimeZone オブジェクトの操作:

    $date = new DateTime('2013-11-09 01:08:32', new DateTimeZone('America/Sao_Paulo'));
    

    これはすべてのスクリプトで機能しますが、少し面倒になる可能性があります。

于 2013-11-09T03:11:37.260 に答える
0

多分これはあなたに役立つでしょう(もちろんあなたのタイムゾーンに変更してください):

date_default_timezone_set("America/Phoenix");

変換機能:

// converts from UTC to Phoenix time
function timezone_convert($datetime) {
    $datetime = new DateTime($datetime);
    $phx_time = new DateTimeZone('America/Phoenix');
    $datetime->setTimezone($phx_time);
    $datetime = $datetime->format('Y-m-d H:i:s');   
    return $datetime;
}
于 2013-11-09T02:51:04.743 に答える
0

その理由は、php.ini が別のタイムゾーンを使用しているためです。

于 2013-11-09T02:39:44.267 に答える