0
<?php echo invoice_due_date($invoice); ?>

上面的代码输出格式为dd/mm/yyyy的日期。我正在寻找一种方法来获取该日期,然后从中添加或删除 x 天,然后打印结果。我是 PHP 新手,所以我尝试过的一切都失败了。提前致谢!

此外,如果有帮助,此代码片段来自一个不再受支持的名为“myclientbase”的项目。

4

3 回答 3

3

PHP5 有一个很好的类叫做DateTime

您可以从这样的字符串初始化它:

$date = DateTime::createFromFormat('d/m/Y', invoice_due_date($invoice));

然后,从 PHP 5.3.0 开始,这个类有一个添加时间量的方法:

$date->add(new DateInterval('P10D'));

这会使您的日期增加 10 天。请参阅http://php.net/manual/en/datetime.add.php

于 2013-01-25T15:20:14.050 回答
0

您可以使用 DateTime::add 函数。完整的解释和示例可以在http://php.net/manual/en/datetime.add.php找到

$invoice->add(new DateInterval('P20D'));

这将使发票日期增加 20 天。您可以在回显$invoice变量之前简单地运行它。

于 2013-01-25T15:19:41.813 回答
0

strtotime可以将日期转换为时间值(尽管您必须将斜杠替换为破折号)并在同一操作中添加日期:

strtotime(str_replace('/','-',invoice_due_date($invoice)) . ' + 1 day')

date可用于将日期格式化为合适的符号。

于 2013-01-25T15:26:58.250 回答