为什么是下面的代码
$first_day = strtotime('first day of this month', '2012-06-01');
echo $first_day;
不返回任何结果?字符串为空。
正如您所说,没有得到任何响应,因为您在strtotime
函数中给定的第二个参数不是时间戳。
所以首先转换成时间戳..
见下面的代码:
$first_day = strtotime('first day of this month', strtotime('2012-06-01'));
尝试这个 :
如果php版本低于5.3
<?php
$d = date_create();
print date_create($d->format('Y-m-1'))->format('Y-m-d')
?>
如果php版本5.3+
<?php
$d = new DateTime('2012-06-20');
$d->modify('first day of this month');
echo $d->format('jS, F Y');
?>
这是另一个解决方案:
<?php
echo date('Y-m-d', strtotime( 'first day of '.date('2012-06-01'))); ///time stamp
echo strtotime(date('Y-m-d', strtotime( 'first day of '.date('2012-06-01')))); // formated date
?>
只需如下使用它,
$first_day = strtotime('2012-06-01');
echo $first_day;
一个月的第一个日期
<?php
echo strtotime(date('Y-m-d', strtotime( 'first day of '.date('2012-06-01')));
?>
如果它不起作用,请尝试date_parse_from_format()
代替strtotime()