ホームページ > バックエンド開発 > PHPチュートリアル > 月番号を名前に変換するときに、PHP コードが「8 月」ではなく「12 月」を返すのはなぜですか?

月番号を名前に変換するときに、PHP コードが「8 月」ではなく「12 月」を返すのはなぜですか?

Patricia Arquette
リリース: 2024-11-06 08:44:02
オリジナル
902 人が閲覧しました

Why does my PHP code return

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート