現在の位置: ホーム> 最新記事一覧> PHPでStrftime関数を使用して日付形式の出力をカスタマイズする方法は?詳細な手順の説明

PHPでStrftime関数を使用して日付形式の出力をカスタマイズする方法は?詳細な手順の説明

gitbox 2025-06-16

PHPでは、日付と時刻の処理は一般的な要件です。多くの開発者にとって、さまざまなニーズに応じて日付形式の出力をカスタマイズする方法は、多くの場合頭痛です。幸いなことに、PHPの組み込みStrftime()関数は、日付形式でカスタム出力を簡単に処理するのに役立ちます。この記事では、STRFTIME()関数を使用して日付形式をカスタマイズし、いくつかの一般的なアプリケーションシナリオを表示する方法について詳しく説明します。

1. Strftime関数とは何ですか?

strftime()は、指定された形式に従って日付と時間を出力するために使用されるPHPの日付フォーマット関数です。日付()関数とは異なり、 STRFTIME()を使用すると、よりローカライズされた日付形式を使用できます。これは、異なる言語や地域の時間形式に自動的に適応できます。

2。Strftime関数の基本的な構文

strftime()関数の基本的な構文は次のとおりです。

 <span><span><span class="hljs-title function_ invoke__">strftime</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$format</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$timestamp</span></span><span> = </span><span><span class="hljs-title function_ invoke__">time</span></span><span>()) : </span><span><span class="hljs-keyword">string</span></span><span>
</span></span>
  • $フォーマット:これは、必要なフォーマットされた文字を含む日付形式の文字列です。

  • $タイムスタンプ:これはタイムスタンプであり、デフォルト値は現在の時刻です。他のタイムスタンプを通過している場合、関数は渡された時間に従ってフォーマットされます。

3.一般的に使用されるStrftimeフォーマット文字

一般的に使用されるstrftime()フォーマット文字を次に示します。

フォーマット文字説明する
%y 4桁の年を完了します2025
%m月(2桁、01-12) 06
%d日(2桁、01-31) 14
%h時間(24時間、00-23) 15
%m分(00-59) 30
%s秒(00-59) 45
%a週の略語(英語)
%a今週のフルネーム(英語)月曜日
%b月の略語(英語) 6月
%b月のフルネーム(英語) 6月

4. Strftime関数を使用して、日付形式の出力をカスタマイズします

例1:完全な日付と時間を出力します

「2025年6月14日15:30:45」という形式で日付と時刻を出力する必要があるとします。コードは次のとおりです。

 <span><span><span class="hljs-meta">&lt;?php</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">"%Y年%m月%d日 %H:%M:%S"</span></span><span>, </span><span><span class="hljs-title function_ invoke__">time</span></span><span>());
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

出力結果:

 <span><span><span class="hljs-number">2025</span></span><span><span class="hljs-string">年06月14日</span></span><span> </span><span><span class="hljs-number">15</span></span><span><span class="hljs-string">:30:45</span></span><span>
</span></span>

例2:出力日と曜日

「2025年6月14日月曜日」を出力する場合は、次のコードを使用できます。

 <span><span><span class="hljs-meta">&lt;?php</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">"%Y年%m月%d日 週%A"</span></span><span>, </span><span><span class="hljs-title function_ invoke__">time</span></span><span>());
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

出力結果:

 <span><span><span class="hljs-number">2025</span></span><span><span class="hljs-string">年06月14日</span></span><span> </span><span><span class="hljs-string">週Monday</span></span><span>
</span></span>

注: %aは英語の週名を出力し、デフォルトは英語です。日付と週の出力を中国語にしたい場合は、PHPのローカリゼーション設定が正しいことを確認することをお勧めします。

例3:カスタム形式の出力

特定の日付の部分のみを気にしている場合、毎月の出力しか出力しないかなど、以下を使用できます。

 <span><span><span class="hljs-meta">&lt;?php</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">"%Y年%m月"</span></span><span>, </span><span><span class="hljs-title function_ invoke__">time</span></span><span>());
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

出力結果:

 <span><span><span class="hljs-number">2025</span></span><span><span class="hljs-string">年06月</span></span><span>
</span></span>

5。ローカリゼーション設定

日付形式をローカリゼーション要件に準拠させるために、 setlocale()関数を使用してロケール環境を設定できます。たとえば、中国の環境では、日付形式は自動的に中国語に変換されます。

 <span><span><span class="hljs-meta">&lt;?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">"%Y年%m月%d日 週%A"</span></span><span>, </span><span><span class="hljs-title function_ invoke__">time</span></span><span>());
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

出力結果(システムが中国の環境をサポートすると仮定):

 <span><span><span class="hljs-number">2025</span></span><span><span class="hljs-string">年06月14日</span></span><span> </span><span><span class="hljs-string">週六</span></span><span>
</span></span>

6。注意すべきこと

  • ローカリゼーションのサポート:一部の環境では、 STRFTIME()関数の出力はローカリゼーション設定(Locale)に関連している場合があります。したがって、対応する言語パックがサーバーにインストールされていることを確認する必要があります。

  • 互換性Strftime()はC言語標準ライブラリに基づいているため、その動作はオペレーティングシステムまたはPHPバージョンによって異なる場合があります。非互換性の問題に遭遇した場合は、日付()関数またはその他のサードパーティライブラリを使用して、日付のフォーマットを処理することを検討してください。

  • パフォーマンスの考慮事項:高頻度の日付のフォーマット関数が必要な場合、最適化を実行するときにキャッシュを検討するか、不必要なローカリゼーション操作を減らすことをお勧めします。

7。概要

この記事の導入を通じて、誰もがSTRFTIME()関数を使用してPHPでの日付形式の出力をカスタマイズする方法を学んだと思います。この機能は、柔軟な日付と時刻のフォーマット方法を提供するだけでなく、ローカリゼーション設定を介してさまざまなロケール環境にも適応し、日付と時刻関連のニーズをよりよく処理するのに役立ちます。 Strftime()の使用をマスターすると、開発プロセス中に便利になります。