0

为什么是下面的代码

$first_day = strtotime('first day of this month', '2012-06-01');
echo $first_day;

不返回任何结果?字符串为空。

4

3 回答 3

1

正如您所说,没有得到任何响应,因为您在strtotime函数中给定的第二个参数不是时间戳。

所以首先转换成时间戳..

见下面的代码:

$first_day = strtotime('first day of this month', strtotime('2012-06-01'));
于 2013-03-01T09:11:41.823 回答
1

尝试这个 :

如果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

?>
于 2013-03-01T08:54:17.833 回答
0

只需如下使用它,

$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()

于 2013-03-01T08:54:37.300 回答