php - ajout de deux heures à date variable
Je veux ajouter 3 minutes à une date/heure de la variable que j'ai, mais je ne suis pas sûr de la façon de le faire.
J'ai fait la variable à partir d'une chaîne comme celle-ci: (qui est dans la RFC 2822 format de date btw)
$date = 2011-10-18T19:56:00+0200
Que j'ai converti en chaîne de caractères en date à l'aide de cette commande:
$time = date_format(DateTime::createFromFormat("Y-m-d\TH:i:sO", $date), "G:i")
Maintenant, je voudrais ajouter 3 minutes à cette variable, mais je ne suis pas sûr de savoir comment.
J'ai utilisé la commande suivante dans mon script avant, mais qui s'applique à la date/heure actuelle, donc je ne suis pas sûr de la façon de l'utiliser pour mon temps variable:
$currenttime = date('G:i', strtotime('+2 hours'));
Alors, comment puis-je ajouter de trois minutes à l' $variable de temps?
OriginalL'auteur laarsk | 2011-10-18
Vous devez vous connecter pour publier un commentaire.
OriginalL'auteur saikat
Utiliser le deuxième paramètre de
strtotime
à fournir un temps de référence:Non, à l'heure actuelle n'est pas utilisé n'importe où. Notez que ce programme de démonstration (s'il est préfixé avec
<?php
) toujours sorties21:56
, peu importe l'heure qu'il est.Hmmm, je suppose que vous êtes à droite, puis. Mais j'ai déjà eu un autre correctif: j'ai utilisé la fonction strtotime deux fois 🙂 qui récupère la date de l'amende juste aswell [from: stackoverflow.com/questions/7812112/...
OriginalL'auteur phihag
Puisque vous êtes à l'aide de l'objet DateTime déjà, rester avec elle:
Malheureusement, je n'ai pas à le faire fonctionner... :S Ive a obtenu comme ceci maintenant:
echo 'Arrival: '.date_format($time, 'G:i').'<br \>'."\n";
echo 'Departure: ';
echo ( $time->add(new DateInterval('P2H')) );
echo '<br \><br \>'."\n";
mais la page s'arrête au Départ de l'écho...la chaîne de format est incorrect. Vous avez besoin d'utiliser $temps->add(new DateInterval('PT2H'));
OriginalL'auteur Marc B
http://www.php.net/manual/en/dateinterval.construct.php
Que dit ma solution à un problème similaire est ceci:
La chose est d'ajouter
P
lors de l'utilisation deDateInterval
classe, etT
avant les entrées de temps. Pour votre cas, vous devez aller avecPT3M
pour 3 minutes de plus. J'ai essayé d'ajouter 2 heures et ce que j'ai fait était$time->add(new DateInterval('PT2H'));
.Si vous regardez l'intervalle spécifications:
M
pourmonths
etM
pourminutes
. C'est pourquoi il y a unT
en avant de temps.Au moins c'est ce que je veux bien le croire... 'O_O
OriginalL'auteur Logan
OriginalL'auteur Ahmed Al Bermawy