如何在symfony2编写自己的控制台命令

时间:2015-04-22 10:16:45

标签: php symfony

如何在symfony2编写自己的控制台命令

中以适当的格式获取日期
$plantype = $allDbName->getPlanType();
$planEndOn = $allDbName->getNextPaymentDate();
$p = $planEndOn->format('H:i:s \O\n Y-m-d');
$currentDate = new \DateTime();

$date =   date_modify($p, '-5 day');

$output->writeln($date);

在控制台中收到错误

enter image description here

2 个答案:

答案 0 :(得分:5)

DateTime::format()返回一个字符串,因此$p是一个字符串,而不是DateTime。

你应该做这样的事情

$planEndOn = $allDbName->getNextPaymentDate();
$planEndOn->modify('-5 days');
$output->writeln($planEndOn->format('H:i:s \O\n Y-m-d'));

答案 1 :(得分:2)

错误消息很明确,

startActivity

期望date_modify($p, '-5 day'); 成为dateTime对象

但此时它是一个字符串,因为你已经格式化为$p的字符串 所以改变你的脚本的顺序:

->format()