ユーザーの現在の日付から選択リストを作成しようとしています。 UNIXタイムスタンプ形式で深夜に設定されるようにしたい。
これが私がしているすべてです:
$today = strtotime('today');
echo $today;
これは私の結果です:
1333144800
これは、2012年3月30日金曜日22:00:00 GMT(エポックコンバーターによる)(数時間で正しくありません)。
Strtotime()がUTCに関連するタイムスタンプを返すようにする場合(たとえば、システムがUTC/GMTに対して2時間のオフセットを持つタイムゾーンに設定されている場合、00:00:00 UTC +2ではなく00:00:00UTC) )、次のように指定する必要があります。
$today = strtotime('today UTC');
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())を開発する必要があります。
DisplayDate()には、夏時間(0、または+1時間/夏時間と冬時間)のサポートも含める必要があります。
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;
曜日だけでなく時間も具体的に設定する必要があるかもしれません。
$today_midnight = strtotime('today UTC 00:00');
Php.iniファイルのタイムゾーン構成を確認する必要があります。私の場合(私はエルサルバドルに住んでいます)、次のように変更する必要がありました。
date.timezone = America/El_Salvador