Foros del Web » Programando para Internet » PHP »

Hora del servidor

Estas en el tema de Hora del servidor en el foro de PHP en Foros del Web. Hola, Estoy diseñando una página con PHP-Nuke, y quiero convertir una fecha que está en un string como : "2002-01-06 17:55:44", a segundos, convertirla a ...
  #1 (permalink)  
Antiguo 06/01/2002, 21:20
Avatar de Nanny  
Fecha de Ingreso: enero-2002
Ubicación: Austin, USA
Mensajes: 98
Antigüedad: 22 años, 3 meses
Puntos: 0
Hora del servidor

Hola,
Estoy diseñando una página con PHP-Nuke, y quiero convertir una fecha que está en un string como : "2002-01-06 17:55:44", a segundos, convertirla a la hora local, y luego revertir el proceso, es decir, que aparezca "2002-01-06 12:55:44".
El convertirla en hora local creo que lo puedo hacer (si resto el número de segundos que hay de diferencia, no?), pero las otras conversiones no se hacerlas :(.

Espero su pronta ayuda.. Gracias!
  #2 (permalink)  
Antiguo 06/01/2002, 21:48
Avatar de Nanny  
Fecha de Ingreso: enero-2002
Ubicación: Austin, USA
Mensajes: 98
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: Hora del servidor

Ya lo solucioné!

<pre> ereg (&quot;([0-9]{4})-([0-9]{1,2})-([0-9]{1,2}) ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})&quot;, $time, $datetime);
$ano=$datetime[1]+0; $mes=$datetime[2]+0; $dia=$datetime[3]+0; $hora=$datetime[4]+0; $min=$datetime[5]+0;

$segundos = mktime ($hora,$min,0,$mes,$dia,$ano);
$segundos = $segundos - 18000;
$time = date (&quot;Y-m-d H:m:00&quot;, $segundos);

ereg (&quot;([0-9]{4})-([0-9]{1,2})-([0-9]{1,2}) ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})&quot;, $time, $datetime);
$ano=$datetime[1]+0; $mes=$datetime[2]+0; $dia=$datetime[3]+0; $hora=$datetime[4]+0; $min=$datetime[5]+0;




</pre>
  #3 (permalink)  
Antiguo 06/01/2002, 21:52
Avatar de Nanny  
Fecha de Ingreso: enero-2002
Ubicación: Austin, USA
Mensajes: 98
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: Hora del servidor

Se me olvidó mencionar que este cambio lo estaba haciendo para la hora en las noticias de un portal hecho con PHPNuke, y modifiqué el archivo mainfile.php en la función formattimestamp:

<pre>
function formatTimestamp($time){
include (&quot;config.php&quot;); global $datetime;
setlocale (&quot;LC_TIME&quot;, &quot;$locale&quot;);
ereg (&quot;([0-9]{4})-([0-9]{1,2})-([0-9]{1,2}) ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})&quot;, $time, $datetime);
$ano=$datetime[1]+0; $mes=$datetime[2]+0; $dia=$datetime[3]+0; $hora=$datetime[4]+0; $min=$datetime[5]+0;

$segundos = mktime ($hora,$min,0,$mes,$dia,$ano);
$segundos = $segundos - 18000;
$time = date (&quot;Y-m-d H:m:00&quot;, $segundos);

ereg (&quot;([0-9]{4})-([0-9]{1,2})-([0-9]{1,2}) ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})&quot;, $time, $datetime);
$ano=$datetime[1]+0; $mes=$datetime[2]+0; $dia=$datetime[3]+0; $hora=$datetime[4]+0; $min=$datetime[5]+0;


$longitud=strlen($min); if ($longitud == 1) { $min=&quot;0&quot;.$min; } $segs=$datetime[6]+0; $longitud=strlen($segs);
if ($longitud == 1) {
$segs=&quot;0&quot;.$segs; }$quedia= strftime (&quot;%w&quot;, mktime($hora,$min,$segs,$mes,$dia,$ano));
switch($quedia) {
case 0: $quedia=&quot;Domingo&quot;; break;
case 1: $quedia=&quot;Lunes&quot;;break;
case 2: $quedia=&quot;Martes&quot;;break;
case 3: $quedia=&quot;Miércoles&quot;;break;
case 4: $quedia=&quot;Jueves&quot;;break;
case 5: $quedia=&quot;Viernes&quot;;break;
case 6: $quedia=&quot;Sábado&quot;;break;
}
switch($mes) {
case 1:$mes=&quot;Enero&quot;; break; case 2:$mes=&quot;Febrero&quot;;break;
case 3:$mes=&quot;Marzo&quot;;break; case 4:$mes=&quot;Abril&quot;;break; case 5:$mes=&quot;Mayo&quot;;break; case 6:$mes=&quot;Junio&quot;;break;
case 7:$mes=&quot;Julio&quot;;break; case 8:$mes=&quot;Agosto&quot;;break; case 9:$mes=&quot;Septiembre&quot;;break; case 10:$mes=&quot;Octubre&quot;;break;
case 11:$mes=&quot;Noviembre&quot;;break; case 12:$mes=&quot;Diciembre&quot;;break; } $datetime=&quot;$quedia, $dia de $mes de $ano ($hora:$min:$segs)&quot;;

$datetime = ucfirst($datetime); return($datetime); } </pre>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:39.