1

我试图在 PHP 中使用这个添加一定数量的天数:

$capturedDate = '2008-06-20'; 
$endDate = strtotime($capturedDate); 
$endDate2 = strtotime('+1 day',$endDate); 
echo $endDate2;

但它的显示:1216526400

有任何想法吗?

4

6 回答 6

2

尝试:

echo date("Y-m-d H:i:s",$endDate2);

或者(仅针对日期):

echo date("Y-m-d",$endDate2);

您可以在此处找到有关如何格式化字符串的文档:http: //php.net/manual/en/function.date.php

于 2013-08-08T17:25:33.193 回答
1

您应该使用 DateTime 来处理日期。这是时区友好的。

$datetime = new DateTime('2008-06-20');
$datetime->modify('+1 day');
echo $datetime->getTimestamp();
于 2013-08-08T17:28:47.640 回答
0

DateTime 是一种非常好的处理日期的方法。你可以这样尝试:

$capturedDate = '2008-06-20'; 
$date = DateTime::createFromFormat('Y-m-d', $capturedDate)->modify('+1 day');
echo $date->getTimestamp();
于 2013-08-08T17:32:55.957 回答
0

strtotime创建一个 Unix 时间戳,所以如果你想显示一个格式化的日期,你需要将时间戳作为参数传递给 date 函数,如下所示:

$capturedDate = '2008-06-20'; 
$endDate = strtotime($capturedDate); 
$endDate2 = strtotime('+1 day',$endDate);
echo date('Y-m-d', $endDate2);

此外,如果要显示附加信息,可以在日期函数中使用多种参数。

例如:echo date('Y-m-d H:i:s', $endDate2);echo date('Y-m-d h:i:s a', $endDate2);等。

于 2013-08-08T17:26:16.900 回答
0

strtotime()将日期转换为 unix 时间戳,即自 1970 年 1 月 1 日以来的秒数。如果您想要日期输出,则必须首先运行完成的时间戳date()

$capturedDate = '2008-06-20'; 
$endDate = strtotime($capturedDate.' +1 day'); 
echo date("Y-m-d", $endDate);
于 2013-08-08T17:26:36.473 回答
0

太接近了,只需使用您的时间戳并将其转换回日期格式date("desired format",$endDate2);

于 2013-08-08T17:26:48.943 回答