小编典典

php 中当月的第一天使用 date_modify 作为 DateTime 对象

all

我可以通过以下方式获得本周的星期一:

$monday = date_create()->modify('this Monday');

我想在本月的 1 日也能轻松获得。我怎样才能做到这一点?


阅读 69

收藏
2022-08-08

共1个答案

小编典典

需要 PHP 5.3 才能工作(PHP 5.3 中引入了“第一天”)。否则,上面的示例是唯一的方法:

<?php
    // First day of this month
    $d = new DateTime('first day of this month');
    echo $d->format('jS, F Y');

    // First day of a specific month
    $d = new DateTime('2010-01-19');
    $d->modify('first day of this month');
    echo $d->format('jS, F Y');

    // alternatively...
    echo date_create('2010-01-19')
      ->modify('first day of this month')
      ->format('jS, F Y');

在 PHP 5.4+ 中,您可以这样做:

<?php
    // First day of this month
    echo (new DateTime('first day of this month'))->format('jS, F Y');

    echo (new DateTime('2010-01-19'))
      ->modify('first day of this month')
      ->format('jS, F Y');

如果您更喜欢简洁的方式来执行此操作,并且已经有年份和月份的数值,您可以使用date()

<?php
    echo date('Y-m-01'); // first day of this month
    echo "$year-$month-01"; // first day of a month chosen by you
2022-08-08