Pregunta

Me sale el tiempo:

$today = time();
$date = date('h:i:s A', strtotime($today));

Si la hora actual es "01:00:00 am", ¿Cómo puedo añadir más de 10 horas para convertirse en 11:00:00 am ??

¿Fue útil?

Solución

strtotime() le da una vuelta número que representa el tiempo en segundos. Incrementarlo, añadir el correspondiente número de segundos que desee añadir. 10 horas = 60 * 60 * 10 = 36000, así que ...

$date = date('h:i:s A', strtotime($today)+36000); // $today is today date

Edit: Yo había asumido que tenía una cadena de tiempo en la actualidad $ - si sólo está utilizando la hora actual, aún más simple:

$date = date('h:i:s A', time()+36000); // time() returns a time in seconds already

Otros consejos

$tz = new DateTimeZone('Europe/London');
$date = new DateTime($today, $tz);
$date->modify('+10 hours');
// use $date->format() to outputs the result.

DateTime Clase (PHP 5> = 5.2.0)

$date = date('h:i:s A', strtotime($today . ' + 10 hours'));

(no probado)

Usted simplemente puede hacer uso de la DateTime clase, estilo de programación orientada a objetos.

<?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"));

código completo que muestra ahora y 10 minutos añadido .....

$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;

Con el fin de aumentar o disminuir el tiempo de uso de strtotime usted podría utilizar un rel="nofollow formato relativo en el primer argumento.

En el caso de aumentar el Hora por 10 horas:

$date = date('h:i:s A', strtotime('+10 hours'));

En caso de tener que aplicar el cambio a otra marca de tiempo, el segundo argumento se puede especificar.

Nota:

  

Con esta función para operaciones matemáticas no es aconsejable. Es mejor utilizar DateTime::add() y DateTime :: sub () en PHP 5.3 y posterior, o DateTime :: modifican () en PHP 5.2.

Por lo tanto, la forma recomendada a partir de 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');

o el uso de 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');

En todos los casos se utilizará la zona horaria predeterminada a menos que se especifique una zona horaria.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top