【发布时间】:2012-08-31 13:55:34
【问题描述】:
我试图让 php 计算一年零一天前的日期。我有这个:
$date = date(strtotime('-366 days'));
$oneyear_oneday = date("Y-m-d H:i:s", $date);
$date = date(strtotime('-1 year'));
$oneyear = date("Y-m-d H:i:s", $date);
但是,由于是闰年,$oneyear 和 $oneyear_oneday 提供相同的输出。有谁知道我如何正确计算?
如果是 2012 年 8 月 15 日下午 3 点,我希望输出是 2011 年 8 月 15 日下午 3 点
【问题讨论】:
-
$oneyear有什么问题?似乎给出了正确的输出...? -
您的 date(strtotime()) 调用不正确。 date() 的第一个参数是一个格式字符串,您传入的是原始时间值。 strtotime 已经返回了一个时间戳,因此在您准备好将其转换为字符串之前,无需对其进行“日期化”。