13

ユーザーの現在の日付から選択リストを作成しようとしています。UNIXタイムスタンプ形式で深夜に設定されるようにしたいと思います。

これが私がしているすべてです:

$today = strtotime('today');
echo $today;

これが私の結果です:

1333144800

これは、2012年3月30日金曜日22:00:00 GMT(エポックコンバーターによる)(数時間で正しくありません)。

4

5 に答える 5

26

strtotime()がUTCに相対的なタイムスタンプを返すようにする場合(たとえば、システムがUTC / GMTに対して2時間のオフセットを持つタイムゾーンに設定されている場合、00:00:00 UTC +2ではなく00:00:00UTC) )、次のように指定する必要があります。

$today = strtotime('today UTC');
于 2012-03-31T16:34:16.167 に答える
6

GMT(+0)時間

echo $today = strtotime('today GMT');
echo "<br>" . $today = date("d-m-Y H:i:s", $today);

サーバーはGMTで実行されると予想されます。これが最適です(後で時間表示を使用して操作する場合)。そうでない場合は、php.iniを調整してこの「date.timezone=GMT」を設定する必要があります。

それが完了すると、私のコードで00:00が表示されます。

次に、次の場合にWebサイトの日付を正しく表示するために、スクリプトで関数(つまり、DisplayDate())を開発する必要があります。

  • あなたはGMTエリアにいません
  • または/および、たとえばタイムゾーンを選択してユーザーにタイムゾーンの時間を表示させたい場合。

DisplayDate()には、日光の変更のサポートも含める必要があります(0、または+1時間/夏と冬の時間)。

于 2012-03-31T17:12:16.570 に答える
3
strtotime( $time )

UNIXのタイムスタンプを返すように設計されています。つまり、1970年1月1日からの秒数を返します。http: //www.php.net/manual/en/function.strtotime.php

これを回避するには、次のようなものを使用します。

$today = date("d/m/Y H:i:s", strtotime('today'));
echo $today;
于 2012-03-31T16:36:30.473 に答える
1

曜日だけでなく時間も具体的に設定する必要があるかもしれません。

$today_midnight = strtotime('today UTC 00:00');
于 2012-03-31T16:47:32.617 に答える
0

php.iniファイルのタイムゾーン構成を確認する必要があります。私の場合(私はエルサルバドルに住んでいます)、次のように変更する必要がありました。

date.timezone = America/El_Salvador
于 2012-03-31T16:36:17.010 に答える