1

正しい日付を表示するのに問題がありますが、実際には時間だけです。

データベースでは、日付は次の形式で保存されます: '2012-09-28 23:30:00' (実際の日時の 7 時間ずれています)

これは、イベントの日付の値です。

このスクリプトを使用して取得すると(drupal用): $ttdate = $obj->field_date_test_value; $nttdate = strtotime($ttdate); $okdate = format_date($nttdate, $type = 'medium'); print $okdate;

...正常に動作しますが、時間が 7 時間ずれています。したがって、「2012 年 9 月 28 日金曜日 - 午後 4 時 30 分」ではなく、「2012 年 9 月 28 日金曜日 - 午後 11 時 30 分」と表示されます。

イベントのページで、drupal が正しい時刻を取得することに注意してください...

私はいくつかの調査を行い、タイムゾーンと関係があると考えましたか? しかし、タイムゾーンがロサンゼルスに設定されているため、何が起こっているのかよくわかりません. 多分それは私のスクリプトですか?

4

2 に答える 2

3

Date モジュールを使用していると仮定します。

これはおそらく、 Date モジュールが日付を UTC で保存し、レンダリング時に出力を変更するためです ( format_date()を使用すると思います)。独自のコードで日付をフォーマットしていないため、イベント ページに正しい日付が表示されていても、生の UTC 時間 (PDT + 7 時間) が表示されます。

このページの下部では、タイムゾーンが Date モジュールでどのように処理されるかを説明しています。私の推測では、最初または 3 番目のシナリオのいずれかがあなたのケースに関連していると思います。

于 2012-09-15T10:46:49.413 に答える
-1

mysql で次のことを試してください。

set time_zone = '-07:00';
于 2012-09-15T00:53:33.083 に答える