php - fecha - strtotime to date
PHP: agregar segundos a una fecha (8)
Dado que $adate
es una marca de tiempo (si ese es el caso), podrías hacer algo como esto:
$duration = 674165;
$result_date = strtotime(sprintf(''+%d seconds'', $duration), $adate);
echo date(''Y-m-d H:i:s'', $result_date);
Tengo $adate;
que contiene:
Tue Jan 4 07:59:59 2011
Quiero agregar a esta fecha lo siguiente:
$duration=674165; // in seconds
Una vez que se agregan los segundos, necesito que el resultado vuelva al formato de fecha.
No sé lo que estoy haciendo, pero estoy obteniendo resultados extraños.
Nota: ambas variables son dinámicas. Ahora son iguales a los valores dados, pero en la siguiente consulta tendrán valores diferentes.
Hacer esto:
$seconds = 1;
$date_now = "2016-06-02 00:00:00";
echo date("Y-m-d H:i:s", (strtotime(date($date_now)) + $seconds));
Hice este ejemplo para una zona horaria, pero si cambias algunas partes puede ayudarte:
$seconds_to_add = 30;
$time = new DateTime();
$time->setTimezone(new DateTimeZone(''Europe/London''));
$time2 = $time->format("Y/m/d G:i:s");
$time->add(new DateInterval(''PT'' . $seconds_to_add . ''S''));
$timestamp = $time->format("Y/m/d G:i:s");
echo $timestamp;
echo ''========'';
echo $time2;
Resultado:
2018/06/17 3:16:23========2018/06/17 3:15:53
Si está utilizando php 5.3+, puede usar una nueva forma de hacerlo.
<?php
$date = new DateTime();
echo $date->getTimestamp(). "<br>";
$date->add(new DateInterval(''PT674165S'')); // adds 674165 secs
echo $date->getTimestamp();
?>
Solo usa algunas funciones agradables de fecha / hora de PHP:
$adate="Tue Jan 4 07:59:59 2011";
$duration=674165;
$dateinsec=strtotime($adate);
$newdate=$dateinsec+$duration;
echo date(''D M H:i:s Y'',$newdate);
Tengo problemas con strtotime()
para resolver mi problema de agregar datos dinámicos / valor de tiempo en el tiempo actual
Esta fue mi solución:
$expires = 3600; //my dynamic time variable (static representation here)
$date = date_create(date(''Y-m-d H:i:s'')); //create a date/time variable (with the specified format - create your format, see (1))
echo date_format($date, ''Y-m-d H:i:s'')."<br/>"; //shows the date/time variable without add seconds/time
date_add($date, date_interval_create_from_date_string($expires.'' seconds'')); //add dynamic quantity of seconds to data/time variable
echo date_format($date, ''Y-m-d H:i:s''); //shows the new data/time value
Fuente: https://secure.php.net/manual/en/datetime.add.php (consulte también el estilo Orientado a Objetos, la solución Elzo Valugi )
$current_time_zone = 150;
date("Y-m-d H:i:s",strtotime(date("Y-m-d H:i:s"))+$current_time_zone);
// add 20 sec to now
$duration = 20;
echo date("Y-m-d H:i:s", strtotime("+$duration sec"));