PHP DateTimeで月数の変更:PHPのDateTimeクラスを操作する場合、数か月を追加または減算する場合、意図した動作を発見します。ドキュメントが警告しているように、これらの操作は見た目ほど直感的ではないため、これらの操作に「注意してください」。 $ date-> modify( '1 month'); // 1か月先に移動します echo $ date-> format( 'y-m-d')。 "\ n"; // 2001-01-31を印刷します $ date-> modify( '1 month'); //別の月を前進させます echo $ date-> format( 'y-m-d')。 "\ n"; //印刷2001-03-03
は、予想通り、月を増やすのではなく、3月3日にジャンプします。なぜこれが? 2月1日。さらに月は3月3日になります。2月は2001年に28日しか経過していないためです。オプション:
手動計算:
来月の日数を確認し、それに応じて日付を手動で調整します。例:
$date = new DateTime('2000-12-31'); $date->modify(' 1 month'); // Move ahead by 1 month echo $date->format('Y-m-d') . "\n"; // Prints 2001-01-31 $date->modify(' 1 month'); // Advance another month echo $date->format('Y-m-d') . "\n"; // Prints 2001-03-03$ d = new DateTime( '2010-01-31'); $ d-> modify( '来月の初日'); echo $ d-> format( 'f')、 "\ n"; // 2月
結論
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3