J'ai le temps:
$today = time();
$date = date('h:i:s A', strtotime($today));
si l'heure actuelle est "1:00:00 am", comment ajouter 10 heures supplémentaires pour devenir 11:00:00 am ??
strtotime()
vous donne un nombre qui représente un temps en secondes. Pour l'incrémenter, ajoutez le nombre de secondes correspondant que vous souhaitez ajouter. 10 heures = 60 * 60 * 10 = 36000, alors ...
$date = date('h:i:s A', strtotime($today)+36000); // $today is today date
Edit: je supposais que vous aviez une chaîne de temps en $ aujourd'hui - si vous utilisez simplement l'heure actuelle, encore plus simple:
$date = date('h:i:s A', time()+36000); // time() returns a time in seconds already
$tz = new DateTimeZone('Europe/London');
$date = new DateTime($today, $tz);
$date->modify('+10 hours');
// use $date->format() to outputs the result.
voir DateTime Class (PHP 5> = 5.2.0)
DateTime
, OOP Style.<?php
$date = new DateTime('1:00:00');
$date->add(new DateInterval('PT10H'));
echo $date->format('H:i:s a'); //"prints" 11:00:00 a.m
$date = date('h:i:s A', strtotime($today . ' + 10 hours'));
(non testé)
$date = date('h:i:s A', strtotime($today . " +10 hours"));
Code complet qui montre maintenant et 10 minutes ajoutées .....
$nowtime = date("Y-m-d H:i:s");
echo $nowtime;
$date = date('Y-m-d H:i:s', strtotime($nowtime . ' + 10 minute'));
echo "<br>".$date;
Pour augmenter ou diminuer le temps en utilisant strtotime
vous pouvez utiliser Format relatif dans le premier argument.
Dans votre cas pour augmenter le heure actuelle de 10 heures:
$date = date('h:i:s A', strtotime('+10 hours'));
Si vous devez appliquer la modification à un autre horodatage, le deuxième argument peut être spécifié.
Remarque:
L'utilisation de cette fonction pour les opérations mathématiques n'est pas recommandée. Il est préférable d'utiliser
DateTime::add()
et DateTime :: sub () dans PHP 5.3 et versions ultérieures, ou DateTime :: modify () dans = PHP 5.2.
Donc, la manière recommandée depuis PHP 5.3:
$dt = new DateTime(); // assuming we need to add to the current time
$dt->add(new DateInterval('PT10H'));
$date = $dt->format('h:i:s A');
ou en utilisant des alias:
$dt = date_create(); // assuming we need to add to the current time
date_add($dt, date_interval_create_from_date_string('10 hours'));
$date = date_format($dt, 'h:i:s A');
Dans tous les cas, le fuseau horaire par défaut sera utilisé sauf si un fuseau horaire est spécifié.