J'ai une date renvoyée dans le cadre d'une requête mySQL sous la forme 2010-09-17
Je voudrais définir les variables $ Date2 à $ Date5 comme suit:
$Date2 = $Date + 1
$Date3 = $Date + 2
etc..
pour qu'il revienne 2010-09-18
, 2010-09-19
etc ...
j'ai essayé
date('Y-m-d', strtotime($Date. ' + 1 day'))
mais cela me donne la date AVANT $Date
.
Quelle est la bonne façon d'obtenir mes dates au format 'Ymd' afin qu'elles puissent être utilisées dans une autre requête?
Réponses:
Tout ce que vous avez à faire est d'utiliser
days
au lieu deday
comme ceci:Et il sort correctement:
la source
day
aussi bien ...date("Y-m-d", strtotime('2010-09-17 + 1 day'))
->2010-09-18
,date("Y-m-d", strtotime('2010-09-17 + 2 day'))
->2010-09-19
Si vous utilisez PHP 5.3, vous pouvez utiliser un
DateTime
objet et saadd
méthode:Jetez un oeil à la page de manuel du
DateInterval
constructeur pour voir comment construire d'autres périodes à ajouter à votre date (2 jours seraient'P2D'
, 3 seraient'P3D'
, et ainsi de suite).Sans PHP 5.3, vous devriez pouvoir utiliser
strtotime
la façon dont vous l'avez fait (je l'ai testé et cela fonctionne à la fois en 5.1.6 et 5.2.10):la source
DateTime::construct
utilise le même mécanisme questrtotime
pour analyser la date, vous pouvez donc également fairenew DateTime("+1 day $date")
ce qui ne nécessiterait pas 5.3Depuis PHP 5.2, vous pouvez utiliser la modification avec un objet DateTime:
http://php.net/manual/en/datetime.modify.php
Soyez prudent lorsque vous ajoutez des mois ... (et dans une moindre mesure, des années)
la source
Voici un petit extrait pour illustrer les modifications de date:
la source
Vous pouvez également utiliser le format suivant
Vous pouvez empiler les modifications de cette façon:
Notez la différence entre cette approche et celle des autres réponses: au lieu de concaténer les valeurs
+1 day
et<timestamp>
, vous pouvez simplement passer l'horodatage comme deuxième paramètre destrtotime
.la source
Utilisation d'une variable pour Nombre de jours
la source
Voici la solution la plus simple à votre requête
la source
Voici un moyen simple de résoudre ce problème.
La sortie sera:
La solution a trouvé d'ici - Comment ajouter des jours à ce jour en PHP
la source
Tous doivent utiliser le code ci-dessous:
la source