2013-08-14 2 views
8

J'ai une requête Eloquent qui ressemble actuellement à ceci:Comment obtenir après-demain en PHP en utilisant DateTime?

$rides = Ride::where('date', '>=', new \DateTime('today')) 
    ->where('date', '<=', new \DateTime('tomorrow')) 
    ->get(); 

Ce qui fonctionne très bien, ma question est, comment puis-je aller sur le formatage comme si:

$rides = Ride::where('date', '>=', new \DateTime('tomorrow')) 
    ->where('date', '<=', new \DateTime('tomorrow + one')) 
    ->get(); 

Signification Je suis en train de Trouve les résultats dont les dates se situent entre demain et après-demain. Toute aide serait grandement appréciée.

Répondre

29

Si vous souhaitez obtenir après-demain, vous pouvez utiliser:

new \DateTime('tomorrow + 1day') 

Vous pouvez trouver plus d'informations dans la page de manuel 'Relative time formats'

+0

Wow, j'ai totalement oublié ça. Merci, travaillé comme un charme. – Pat841

+1

@ Pat841 marquer comme réponse. –

+0

C'est bon de voir que vous utilisez 'DateTime' :) –

1

Après-demain est deux jours à partir de maintenant, cette fonctionnera: -

$dayAfterTomorrow = (new \DateTime())->add(new \DateInterval('P2D')); 

See it working

4

new \DateTime('tomorrow + 1day')

Il est OK si vous n'êtes pas intéressé par heures et minutes .. Il est vous donne Midnigth toujours, mais

$dayAfterTomorrow = (new \DateTime())->add(new \DateInterval('P2D'));

vous donne exactement 2 jours à partir de maintenant et les heures et les minutes sont conservés

Questions connexes