我试图在PHP中使用它来添加一定的天数到时间戳:
$capturedDate = '2008-06-20';
$endDate = strtotime($capturedDate);
$endDate2 = strtotime('+1 day',$endDate);
echo $endDate2;
但显示:1216526400
任何想法?
答案 0 :(得分:2)
尝试:
echo date("Y-m-d H:i:s",$endDate2);
或(仅限日期):
echo date("Y-m-d",$endDate2);
您可以在此处找到有关如何设置字符串格式的文档:http://php.net/manual/en/function.date.php
答案 1 :(得分:1)
您应该使用DateTime来处理日期。这是时区友好的。
$datetime = new DateTime('2008-06-20');
$datetime->modify('+1 day');
echo $datetime->getTimestamp();
答案 2 :(得分:0)
strtotime创建一个Unix时间戳,因此如果要显示格式化日期,则需要将时间戳作为参数传递给日期函数,如下所示:
$capturedDate = '2008-06-20';
$endDate = strtotime($capturedDate);
$endDate2 = strtotime('+1 day',$endDate);
echo date('Y-m-d', $endDate2);
此外,如果您想显示其他信息,可以在date功能中使用各种参数。
例如:echo date('Y-m-d H:i:s', $endDate2);
或echo date('Y-m-d h:i:s a', $endDate2);
等
答案 3 :(得分:0)
strtotime()
将日期转换为unix时间戳,这是自1970年1月1日以来的秒数。如果你想要一个日期输出,你必须先通过date()
运行完成的时间戳。
$capturedDate = '2008-06-20';
$endDate = strtotime($capturedDate.' +1 day');
echo date("Y-m-d", $endDate);
答案 4 :(得分:0)
Sooooo关闭,只需使用您的时间戳并使用date("desired format",$endDate2);
将其转换回日期格式
答案 5 :(得分:0)
DateTime是处理日期的一种非常好的方式。你可以尝试这样:
$capturedDate = '2008-06-20';
$date = DateTime::createFromFormat('Y-m-d', $capturedDate)->modify('+1 day');
echo $date->getTimestamp();