PHP のデフォルト設定は標準グリニッジ時間 (タイムゾーンゼロ) なので、現地時間を取得したい場合は、PHP のデフォルトのタイムゾーン (外国人の友人でない限り、8 つのタイムゾーン) を変更する必要があります。珍しいと思います)。
PHP システムのタイムゾーン設定
PHP システムのタイムゾーンを変更する 2 つの方法:
1. php.ini ファイルの設定を変更し、[date] で「;date.timezone=」を見つけます。 Change date.timezone=Asia/Hong_Kong (PRC China time) の項目を変更し、Apache サーバーを再起動します。
2. アプリケーションで、時刻と日付関数を使用する前に「date_default_timezone_set("Asia/Hong_Kong")」関数を追加します
php.ini ファイルを変更した後、現地時間を取得します:
php コード:
<ol class="dp-c"> <li class="alt"><span><span><?php </span></span></li><li><span class="func">echo</span><span> “现在是北京时间:”.</span><span class="func">date</span><span>(“Y-m-d H:i:s”).”<p>”; </span></span></li> <li class="alt"><span>?> </span></li> </ol>
表示結果:
現在北京時間: 2010-11-30 20:50:03 (現地時間と一致)
php.ini 修正コード:
<ol class="dp-c"> <li class="alt"><span><span>[</span><span class="func">Date</span><span>] </span></span></li> <li> <span>; Defines the </span><span class="keyword">default</span><span> timezone used by the </span><span class="func">date</span><span> functions </span> </li> <li class="alt"> <span>; http:</span><span class="comment">//php.net/date.timezone </span><span> </span> </li> <li> <span class="func">date</span><span>.timezone = PRC </span> </li> </ol>
Zero は、皆さんが上記の方法に従ってローカル時刻を設定することを願っています。タイムゾーンに注意してください。 変更された php.ini ファイルは、現在のサーバーによってロードされた php.ini ファイルである必要があります。
PHP で 2 つの時間の大きさを比較する
日常生活では、朝と夕方の時間の大きさを比較する必要があることがよくあります。時間の大きさを判断するのは非常に簡単です。ただし、時間の比較は単純な数値の比較ではないため、比較的複雑です。では、PHP で 2 つの倍のサイズを比較するにはどうすればよいでしょうか?前回のブログ投稿「PHP タイムスタンプ 34 から 35 へ」の内容をよく読んでいただければ、この問題はそれほど難しくないと思います。
2 つの時間の大きさを比較するには、時間をタイムスタンプ形式に変換してから比較する必要があります。これが最も一般的な方法です。
一般的に使用される関数は次のとおりです: strtotime()
構文形式: strtotime(time,now)
time が絶対時間の場合、now パラメーターは効果がありません。
時間が相対時間の場合、対応するパラメータは関数 now によって提供されます。now パラメータが提供されない場合、対応する時間は現在の現地時間です。
例: 2 つの絶対時間の大きさを比較する
コード:
<ol class="dp-c"> <li class="alt"><span><span><?php </span></span></li><li><span class="vars">$zero1</span><span>=</span><span class="func">date</span><span>(“Y-m-d H:i:s”); </span></li><li class="alt"><span class="vars">$zero2</span><span>=”2010-11-29 21:07:00″; </span></li><li><span class="func">echo</span><span> “zero1的时间为:”.</span><span class="vars">$zero1</span><span>.”<br>”; </span></span></li> <li class="alt"> <span class="func">echo</span><span> “zero2的时间为:”.</span><span class="vars">$zero2</span><span>.”<br>”; </span> </li> <li> <span class="keyword">if</span><span>(</span><span class="func">strtotime</span><span>(</span><span class="vars">$zero1</span><span>)<</span><span class="func">strtotime</span><span>(</span><span class="vars">$zero2</span><span>)){ </span></li><li class="alt"><span class="func">echo</span><span> “zero1早于zero2″; </span></li><li><span>}</span><span class="keyword">else</span><span>{ </span></li><li class="alt"><span class="func">echo</span><span> “zero2早于zero1″; </span></li><li><span>} </span></li><li class="alt"><span>?> </span> </li> </ol>
出力結果:
zero1 の時間は: 2010-11-30 21:12:55
zero2 の時間は: 2010-11-29 21: 07:00
zero2はzero1より早いです
注: 例に基づいて発散的思考を使用して
、2つの日付の差を計算できます
オリンピックカウントダウン、アジア競技大会カウントダウン、誕生日カウントダウン、これらのカウントダウンは次のことができます2 つの日付を計算することによって計算されます。日付間の差異を実装するには、strottime() 関数も使用する必要があります。
カウントダウンを実装するには、2 つの時間の差を整数化し、関数 ceil() を使用する必要があります
ceil() 関数の機能は、指定された値以上の最小の整数を見つけることです。実数
例: カウントダウンアプレット
コード例:
<ol class="dp-c"> <li class="alt"><span><span><?php </span></span></li><li><span class="vars">$zero1</span><span>=</span><span class="func">strtotime</span><span> (</span><span class="func">date</span><span>(“Y-m-d H:i:s”)); </span><span class="comment">//当前时间 </span><span> </span></li><li class="alt"><span class="vars">$zero2</span><span>=</span><span class="func">strtotime</span><span> (“2011-2-03 24:00:00″); </span><span class="comment">//过年时间 </span><span> </span></li><li><span class="vars">$guonian</span><span>=</span><span class="func">ceil</span><span>((</span><span class="vars">$zero2</span><span>-</span><span class="vars">$zero1</span><span>)/86400); </span><span class="comment">//60s*60min*24h </span><span> </span></li><li class="alt"><span class="func">echo</span><span> “离过年还有<strong></span><span class="vars">$guonian</span><span></strong>天!”; </span></span></li> <li><span>?> </span></li> </ol>
出力結果: 旧正月まであと 66 日!
スクリプトの実行時間を計算します
多くのWebページを開くとスクリプトの実行時間が表示され、これらの検索時間の要素はBaiduで検索するときにも表示されます。それで何が達成されるのでしょうか?
スクリプトの実行時間を計算するには、microtime() 関数を使用する必要があります。この関数の機能は、現在のタイムスタンプとマイクロ秒を返すことです。 msec sec 形式の文字列を返します。ここで、sec は現在の UNIX タイムスタンプ、msec はマイクロ秒数です。
構文形式: microtime (void)
動作原理: スクリプトの実行前後のタイムスタンプを記録し、2 つのタイムスタンプの差を計算します
例: 前の例でスクリプトの実行時間を計算します
サンプルコード:
<ol class="dp-c"> <li class="alt"><span><span><?php </span></span></li><li><span class="keyword">function</span><span> run_time() </span></li><li class="alt"><span>{ </span></li><li><span>list(</span><span class="vars">$msec</span><span>, </span><span class="vars">$sec</span><span>) = </span><span class="func">explode</span><span>(” “, microtime()); </span></li><li class="alt"><span class="keyword">return</span><span> ((float)</span><span class="vars">$msec</span><span> + (float)</span><span class="vars">$sec</span><span>); </span></li><li><span>} </span></li><li class="alt"><span class="vars">$start_time</span><span>=run_time(); </span></li><li><span class="vars">$zero1</span><span>=</span><span class="func">strtotime</span><span> (</span><span class="func">date</span><span>(“Y-m-d H:i:s”)); </span><span class="comment">//当前时间 </span><span> </span></li><li class="alt"><span class="vars">$zero2</span><span>=</span><span class="func">strtotime</span><span> (“2011-2-03 24:00:00″); </span><span class="comment">//过年时间 </span><span> </span></li><li><span class="vars">$guonian</span><span>=</span><span class="func">ceil</span><span>((</span><span class="vars">$zero2</span><span>-</span><span class="vars">$zero1</span><span>)/86400); </span><span class="comment">//60s*60min*24h </span><span> </span></li><li class="alt"><span class="func">echo</span><span> “离过年还有<strong></span><span class="vars">$guonian</span><span></strong>天!”; </span></span></li> <li> <span class="vars">$end_time</span><span>=run_time(); </span> </li> <li class="alt"><span>?> </span></li> <li><span><p> </span></li> </ol>
ウェブページの読み込み時間: 秒
操作結果: 中国版まであと 66 日新年! Webページ読み込み時間:0.00011682510375977秒
explode()関数とlist()関数については今後の研究で詳しく紹介していきます!
さて、Zero PHP日時の学習は終わりました。次に、PHPのコア技術について学習します。ブロガーの友人の皆様、引き続きご注目ください。