Foros del Web » Programando para Internet » PHP »

Me estoy volviendo loco con las fechas

Estas en el tema de Me estoy volviendo loco con las fechas en el foro de PHP en Foros del Web. Yo pensaba que Código PHP: gmmktime ()  y Código PHP: gmmktime ( gmdate ( 'H' ), gmdate ( 'i' ), gmdate ( 's' ), gmdate ...
  #1 (permalink)  
Antiguo 10/11/2003, 00:22
 
Fecha de Ingreso: junio-2002
Ubicación: Buenos Aires, Argentina
Mensajes: 876
Antigüedad: 15 años, 6 meses
Puntos: 0
Me estoy volviendo loco con las fechas

Yo pensaba que

Código PHP:
gmmktime() 
y

Código PHP:
gmmktime(gmdate('H'),gmdate('i'),gmdate('s'),gmdate('m'),gmdate('d'),gmdate('Y')); 
tenian que dar lo mismo, y que era la representacion timestamp de la hora GMT 0, pero no! Ahora no entiendo nada.
La unica forma que encontre para obtener el timestamp de la GMT 0 fue haciendo

Código PHP:
mktime(gmdate('H'),gmdate('i'),gmdate('s'),gmdate('m'),gmdate('d'),gmdate('Y')); 
Entonces alguien me puede explicar para que sirve y/o que significa hacer un gmmktime() ???

Y para que sirve un
Código PHP:
gmmktime(gmdate('H'),gmdate('i'),gmdate('s'),gmdate('m'),gmdate('d'),gmdate('Y')); 
???

Y time() que hace? Devuelve la hora timestamp GMT - diferencia horaria?
  #2 (permalink)  
Antiguo 10/11/2003, 13:22
 
Fecha de Ingreso: junio-2002
Ubicación: Buenos Aires, Argentina
Mensajes: 876
Antigüedad: 15 años, 6 meses
Puntos: 0
Ayuda plis
  #3 (permalink)  
Antiguo 10/11/2003, 13:42
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 7 meses
Puntos: 2
has pasado por la ayuda de php online... tienes ejemplos demostrativos.

http://es2.php.net/manual/es/function.gmmktime.php
__________________
3w.valenciadjs.com
3w.laislatv.com
  #4 (permalink)  
Antiguo 10/11/2003, 13:52
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Time() devuelve la hora actual del sistema .. con date() formatearias esos segundos (fecha) al ajuste horario del pais que tenga configurado (franja horaria) de ese servidor.

Si quieres obtener la fecha GMT (0) debes usar gmdate("formato fecha",time()); ) o sin time() .. )

Si quieres componer fechas en formato GMT .. debes de usar las funciones gmxxxx() pero no mezclaras (con las no gmt).

En tu caso particular .. no te dá lo mismo esa llamada a gmmktime() y formada con tus gmdate() por qué en el mes estás obteniendolo con dos digítos 01, 02, 03 .. etc .. No sé si será valido como parámetro de gmmktime() .. pero por mi parte siempre he usado "n" para obtener el mes (con un sólo digito, 1,2,3, etc ..) en lugar de "m" que lo devuelve a dos digitos.

Un ejemplo que hice hace algún tiempo:

Código PHP:
<?php

function fecha_ahora_gmt ($dif_gtm=0){
$meses=array(1=>"Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");
$dias=array(1=>"Lunes","Martes","Miercoles","Jueves","Viernes","Sábado","Domingo");

$fecha_gmt=gmmktime(gmdate("H")+$dif_gtm,gmdate("i"),gmdate("s"),gmdate("n"),gmdate("j"),gmdate("Y"));

$fecha_ahora_diaNum gmdate ("j",$fecha_gmt);
$fecha_ahora_diaNom gmdate ("w");
$fecha_ahora_mes gmdate ("n",$fecha_gmt);
$fecha_ahora_year gmdate ("Y",$fecha_gmt);
$fecha_ahora_hora gmdate ("H:i:s a",$fecha_gmt);
$fecha_ahora $dias[$fecha_ahora_diaNom].", ".$fecha_ahora_diaNum." de ".$meses[$fecha_ahora_mes]." de ".$fecha_ahora_year.", a las ".$fecha_ahora_hora;
return 
$fecha_ahora;
}

$dif_gtm=0// diferencia horaria con respecto a la hora GTM
$hoy=fecha_ahora_gmt($dif_gtm);
echo 
"Hoy es: ".$hoy;

?>

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 10/11/2003, 14:45
 
Fecha de Ingreso: junio-2002
Ubicación: Buenos Aires, Argentina
Mensajes: 876
Antigüedad: 15 años, 6 meses
Puntos: 0
Cluster, utilizar m o n en el mes da los mismos resultados, por lo que sigo sin entender. Mi zona horaria es GMT -3 y si hago
Código PHP:
$fecha_1=gmmktime(gmdate('H'),gmdate('i'),gmdate('s'),gmdate('n'),gmdate('d'),gmdate('Y'));
$fecha_2=gmmktime(); 
$fecha me da mi hora actual y $fecha2 mi hora actual - 3 horas, GMT - 6 seria!

No entiendo nada.
  #6 (permalink)  
Antiguo 11/11/2003, 00:36
 
Fecha de Ingreso: junio-2002
Ubicación: Buenos Aires, Argentina
Mensajes: 876
Antigüedad: 15 años, 6 meses
Puntos: 0
Alguien me podria explicar la diferencia entre
Código PHP:
time(); 
y
Código PHP:
gmmktime(gmdate('H'),gmdate('i'),gmdate('s'),gmdate('n'),gmdate('d'),gmdate('Y')); 
Me dan lo mismo y quisiera entender por que

Y en definitiva, que es realmente lo que me interesa, como saco el timestamp para la GMT (0) actual? Yo pense que era de la segunda forma, pero al darme igual que time() ya no se.

Ayuda pliiiiiiiiiiiiiiiissssssssss
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 01:07.