2015-04-22 7 views
8

Come arrivare Data in formato corretto in Symfony2 iscritto console proprio comandoCome arrivare Data in formato corretto in Symfony2 iscritto proprio comando console

$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); 

ottenendo errore nella console

enter image description here

+1

Hai provato '$ date = date_modify (planEndOn, '-5 day'); $ output-> writeln ($ date-> format ('H: i: s \ O \ n Y-m-d')); '? – Matteo

+1

sì ho provato a vedere nello screenshot che ho modificato non ho ricevuto questo errore –

+0

Ok, hai visto il mio aggiornamento? – Matteo

risposta

2

ho avuto soluzione

$ planEndOn = $ allDbName-> getNextPaymentDate()? $ allDbName-> getNextPaymentDate() -> format ('Y-m-d'): 0;

5

DateTime::format() restituisce una stringa, quindi $p è una stringa, non un DateTime.

Si dovrebbe fare qualcosa di simile, invece

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

L'errormessage è chiaro,

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

aspetta $p essere un dateTime oggetto

ma a questo punto la sua una stringa perché si già formattato come stringa con ->format() quindi cambia l'ordine del tuo script:

$plantype = $allDbName->getPlanType(); 
$planEndOn = $allDbName->getNextPaymentDate(); 
$p = date_modify($planEndOn, '-5 day'); 
$date = $p->format('H:i:s \O\n Y-m-d'); 

$output->writeln($date); 
+0

Ciao Grazie per l'aiuto ma sto ricevendo questo errore [Symfony \ Component \ Debug \ Exception \ ContextErrorException] Avvertenza: date_modify() si aspetta che il parametro 1 sia DateTime, nullo dato –

Problemi correlati