PHPでの時間計算の問題で立ち往生しています。私の例でお話しします:
私は web-server でグリーティング Web サイトをホストしましたが、このサーバーはインドにあります。これは、サーバーがインドのタイム ゾーンで実行されていることを意味します。今日の日付が '01/01/2013' で、翌日 02/01/2013 の午前 0:00 (午前 12:00) に英国に挨拶を送りたいとします。グリーティング カードを送信すると、php スクリプトがこのカードをインドのタイムゾーンで送信します。つまり、インドの午前 12 時にスクリプトが実行され、カードが送信され、英国は正確な時間の 5 時間前にこのカードを受け取ります。時間オフセットを使用して時間を取得した国の正しい時間を取得する方法を知っています。
$time = strtotime('H:m:s'.(time() - (serverOffset - ukOffset)))
では、時刻を 00:00AM に設定する方法、または現在の時刻の残り時間を 00:00AM に設定する方法は何ですか。何か手続きはありますか?
[新しいアップデート]
OK、解決策が見つかりました
$SERVER_OFFSET = 19800; //INDIA +5.50
$PARIS_TZ_HOUR = 1.0; //FRANCE-PARIS +1.00
$NEW_OFFSET = ($PARIS_TZ_HOUR * (60*60)); //new_offset 3600
$MINUTES = ($SERVER_OFFSET - $NEW_OFFSET)/60;
// Lets date is: 2013-01-20 00:00:00
echo date('Y-m-d H:i:s', strtotime($MINUTES.'minutes', strtotime('2013-01-19')));
簡単な言葉で:
(19800-3600)/60 = 270 (分)
270 分、つまり 4.5 時間
つまり、インド時間が 2013-01-20 00:00
になると、フランスでは 2013-01-19 19:30:00 になります
。インド時間が 2013-01-20 04:30 の場合は
、
2013-01-20 00:00 フランスで :)
時間を追加する代わりに分を使用しました。時間よりも分の方が正確な結果が得られるからです。
それだけです、それがあなたの人々を助けることを願っています