Je suis vraiment coincé avec l'ajout de X minutes à un datetime, après avoir fait beaucoup de google et de lecture manuelle de PHP, je ne semble pas aller nulle part.
Le format de date et d'heure que j'ai est:
2011-11-17 05:05
: year-month-day hour:minute
Les minutes à ajouter ne seront qu'un nombre compris entre 0 et 59
Je voudrais que la sortie soit la même que le format d'entrée avec les minutes ajoutées.
Quelqu'un pourrait-il me donner un exemple de code fonctionnel, car mes tentatives ne semblent pas me mener nulle part?
strtotime
produit un horodatage Unix comme uninteger
qui est utile si vous triez par exemple les dates en php. LaDateTime
classe fournit des options pour les opérations d'objet et de style procédural. Il est plus lisible et prend également en charge la gestion des différences entre les différents fuseaux horaires; par exemple, si vous avez un projet qui génère des dates pour de nombreux fuseaux horaires différents provenant de la même instance de données.La classe DateTime de PHP a une méthode de modification utile qui prend du texte facile à comprendre.
Vous pouvez également utiliser l'interpolation ou la concaténation de chaîne pour le paramétrer:
la source
le résultat est
La démo en direct est
here
Si vous n'êtes pas encore familier avec
strtotime
, vous feriez mieuxphp.net
de découvrir sa grande puissance :-)la source
Vous pouvez le faire facilement avec des fonctions natives:
Je recommanderais cependant la méthode de classe DateTime, juste publiée par Tim.
la source
J'ai pensé que cela aiderait certains à traiter des fuseaux horaires aussi. Ma solution modifiée est basée sur la solution de @Tim Cooper, la bonne réponse ci-dessus.
La ligne en gras, la ligne 3, est l'addition. J'espère que cela aidera également certaines personnes.
la source
Une réponse un peu tardive, mais la méthode que j'utiliserais est:
Ou en PHP> = 5.4
la source
Si vous souhaitez donner une variable contenant les minutes.
Ensuite, je pense que c'est un excellent moyen d'y parvenir.
la source
Utilisation
strtotime("+5 minute", $date);
Exemple:
la source
Je ne sais pas pourquoi l'approche définie comme solution n'a pas fonctionné pour moi. Je poste donc ici ce qui a fonctionné pour moi dans l'espoir que cela puisse aider n'importe qui:
la source
Comme l'ont noté Brad et Nemoden dans leurs réponses ci-dessus, strtotime () est une excellente fonction. Personnellement, j'ai trouvé que l'objet DateTime standard était trop compliqué pour de nombreux cas d'utilisation. Je voulais juste ajouter 5 minutes à l'heure actuelle, par exemple.
J'ai écrit une fonction qui renvoie une date sous forme de chaîne avec quelques paramètres optionnels:
1.) time: String | ex: "+5 minutes" (par défaut = heure actuelle)
2.) format: Chaîne | ex: "Ymd H: i: s" (par défaut = "Ymd H: i: s O")
De toute évidence, ce n'est pas une méthode complète. Juste une fonction simple et rapide pour modifier / mettre en forme la date actuelle.
la source
Un autre exemple de fonction pour faire ceci: (changer les formats d'heure et d'intervalle comme vous les aimez en fonction de ceci pour function.date , et ceci pour DateInterval ):
(J'ai également écrit une forme alternative de la fonction ci-dessous .)
la source
format datetime mysql une ligne
la source
Sans utiliser de variable:
Avec l'utilisation d'une variable:
la source
$yourDate
? Qu'est-ce que cette réponse ajoute aux réponses similaires publiées des années auparavant?