无法获得将字符串日期增加一天的方法。php日期从数组日期增加
因此,它以30/01/2001
为例。
$linedata[8] = 30/01/2001;
然后我使用日期分析表格格式。
$thetime = date_parse_from_format("j/n/Y",$linedata[8]);
返回值是数组。是否有可能从这个数组中增加日期,或者我应该用不同的函数解析日期?
无法获得将字符串日期增加一天的方法。php日期从数组日期增加
因此,它以30/01/2001
为例。
$linedata[8] = 30/01/2001;
然后我使用日期分析表格格式。
$thetime = date_parse_from_format("j/n/Y",$linedata[8]);
返回值是数组。是否有可能从这个数组中增加日期,或者我应该用不同的函数解析日期?
你不想使用date_parse_from_format()
,因为这只是给你很多的日期部分,它需要你修改合适的部分,然后重新组装它们。你也有闰年的问题,并在本月的最后一天工作。
你想用DateTime::createFromFormat()
它给你一个DateTime对象,它是易于使用和处理之类的东西闰年和天一个月数:
$date = DateTime::createFromFormat("j/n/Y", '30/01/2001');
$date->modify('+1 day');
echo $date->format('Y-m-d');
你可以增加这样的日期:
$thetime["day"]++;
或
$thetime["day"] = $thetime["day"] + 1;
那么你就可以得到递增日期这样
$idate = $thetime["day"]."/".$thetime["month"]."/".$thetime["year"];
2月28日非闰年会发生什么?还是1月31日?这完全打破了。 – 2014-10-02 14:10:42
这会工作(提供$ linedata [8]包含日期):
$thetime = date('j/n/Y', strtotime($linedata[8] . ' +1 day'));
该日期格式不是[strtotime可以使用](http://php.net/manual/en/datetime.formats.date.php)。 – 2014-10-02 14:09:15
看起来整洁但我返回错误,致命错误:调用一个非对象的成员函数modify().....它是一个PHP版本的问题? – Pat 2014-10-02 14:13:16
你使用的是什么版本? [这将使用PHP 5.3+](http://3v4l.org/Xfo94) – 2014-10-02 14:17:06
版本是5.4.22。我只是检查了修改功能,并应该罚款为5.2.0 – Pat 2014-10-02 14:20:01