1

我有下面的代码,

$lastmonthLastDay =   date('Y-m-d', strtotime("last day of last month"));
$lastmonthFirstDay= date('Y-m-d', strtotime("first day of -1 month"));

这在本地主机中完全有效。但是当我在现场直播时总是返回1970-01-01

我在服务器设置中有什么遗漏吗?好心劝告

4

2 回答 2

4

你可以试试这个:

$firstDay = date('d-m-Y', mktime(0, 0, 0, date("m", strtotime("-1 month")), 1, date("Y",strtotime("-1 month"))));
$lastDay = date('d-m-Y', mktime(-1, 0, 0, date("m"), 1, date("Y")));

这是一种更通用的方法。

于 2012-06-25T10:02:21.580 回答
2

我知道这有点老了,但是... PHP 5.x 中的标准 DateTime 类可以很好地解决这个问题:

    $last_month = new DateTime('now');
    $last_month->modify('-1 month');
    echo "Last month: ".$last_month->format('Y-m-1 00:00:00')."\n";

格式与 date() 函数的格式相同。

于 2013-01-18T02:33:16.807 回答