PHP で数値を月の名前に変換
PHP コードは、月の数値 (8) を対応する月の名前 ( "8 月") date() 関数を使用します。残念ながら、コードは「8 月」ではなく「12 月」を返します。これは、strtotime() 関数に渡される前に $monthNum の先頭にゼロ (「08」) が埋め込まれているためです。
DateTime オブジェクトを使用した推奨解決策
正確かつ最新の日付/時刻を操作するには、DateTime オブジェクトを使用することを強くお勧めします。 DateTime クラスを使用したコードの改良版は次のとおりです。
<code class="php">$monthNum = 8; $dateObj = DateTime::createFromFormat('!m', $monthNum); $monthName = $dateObj->format('F'); // August</code>
古い PHP バージョンの代替ソリューション
DateTime オブジェクトを使用できない場合は、 mktime() 関数を使用してタイムスタンプを取得し、それを date() 関数に渡します。
<code class="php">$monthNum = 8; $monthName = date('F', mktime(0, 0, 0, $monthNum, 10)); // August</code>
ここで、mktime(0, 0, 0, $monthNum, 10) は、与えられた月。 date() の「F」形式指定子は、完全な月名を返します。
以上が月番号を名前に変換するときに、PHP コードが「8 月」ではなく「12 月」を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。