在 php 中使用 date_modify 作为 DateTime 对象的当前月份的第一天
我可以通过以下方式获得本周的星期一:
$monday = date_create()->modify('this Monday');
我想在这个月的1号轻松获得同样的便利。我怎样才能做到这一点?
我可以通过以下方式获得本周的星期一:
$monday = date_create()->modify('this Monday');
我想在这个月的1号轻松获得同样的便利。我怎样才能做到这一点?
这是我使用的。
每月的第一天:
date('Y-m-01');
该月的最后一天:
date('Y-m-t');
需要 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