PHPでは、日付と時間を処理するために最も一般的に使用される関数の1つは日付()です。今週の今日の日を表示する必要がある場合、日付()も簡単に行うことができ、名前として表示するか、名前(英語またはローカライズされた形式)を表示するかを選択できます。
曜日を数値形式で表示する場合は、フォーマット文字wを使用できます。この形式は、数値0(日曜日を表す)を6(土曜日を表す)に返します。
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">date</span></span><span>(</span><span><span class="hljs-string">'w'</span></span><span>); </span><span><span class="hljs-comment">// 出力の例:3,水曜日を言う</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
この番号は、プログラムロジックの判断に役立ちます。たとえば、営業日か週末かに基づいて関数が有効になっているかどうかを決定する必要があります。
英語で曜日の名前を表示したい場合は、フォーマット文字L (小文字L)を使用できます。
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">date</span></span><span>(</span><span><span class="hljs-string">'l'</span></span><span>); </span><span><span class="hljs-comment">// 出力の例:Wednesday</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
この形式は、月曜日、火曜日、水曜日などの英語の週の名前を返します。
フルネームは必要ありませんが、より合理化された3文字の略語が必要な場合は、 Dを使用できます。
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">date</span></span><span>(</span><span><span class="hljs-string">'D'</span></span><span>); </span><span><span class="hljs-comment">// 出力の例:Wed</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
この形式は、小さなタイトルとインターフェイススペースを持つ場所に特に便利です。
地元の言語(中国語など)で曜日を表示したい場合は、 setlocale()とstrftime()を使用してそれを達成できます。ただし、この方法は一部のオペレーティングシステム(Windowsなど)でうまく機能しない可能性があることに注意してください。
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-title function_ invoke__">setlocale</span></span><span>(LC_TIME, </span><span><span class="hljs-string">'zh_CN.UTF-8'</span></span><span>); </span><span><span class="hljs-comment">// 中国語に設定</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">strftime</span></span><span>(</span><span><span class="hljs-string">'%A'</span></span><span>); </span><span><span class="hljs-comment">// 出力の例:水曜日</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
注:PHP 8.1から開始して、 STRFTIME()は非推奨であり、ローカライズされた日付形式の処理には国際的な拡張機能(IntlDateFormatterなど)を使用することをお勧めします。
最新のPHP開発は、従来の日付()関数よりも柔軟でオブジェクト指向のDateTimeクラスを使用するためによりお勧めします。
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$dt</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title class_">DateTime</span></span><span>();
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$dt</span></span><span>-></span><span><span class="hljs-title function_ invoke__">format</span></span><span>(</span><span><span class="hljs-string">'l'</span></span><span>); </span><span><span class="hljs-comment">// 出力の例:Wednesday</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
また、現在の時間だけでなく、カスタムタイム文字列を渡すことで、他の日付を操作することもできます。
デジタルデイオブザウィークであろうと、英語/母国語の名前であろうと、PHPの日付()関数はシンプルで強力なサポートを提供します。コードの保守性と柔軟性を追求している場合は、日付処理にDateTimeクラスを使用することを検討できます。これらのスキルを習得すると、アプリケーションをよりスマートにし、より国際的にすることができます。