Programación Web y Scripting > PHP
Timestamp?
(1/1)
gnfrs:
Timestamp es un formato de fecha utilizado por unix.
El timestamp actual representa la cantidad de segundos que transcurrieron desde 1/1/1970 a las 00:00 Hs.
En la descripción de este post puse valor relativo porque en mi caso si convierto al número 1 en fecha
--- Código: Text ---echo date('d/m/Y H:i:s', 1);
eso me devuelve 31/12/1969 21:00:01 que no es exactamente un segundo después del 1/1/1970. Cabe mencionar que acá en Argentina es GMT -0300 y la diferencia devuelta por el timestamp es de 3 horas menos...
Me gustaría saber si esto que estoy pensando es cierto, o sólo pasa en mi PC.
Saludos.
gnfrs:
Me respondo solo:
--- Citar ---El Timestamp de Unix que es el número de segundos transcurridos desde las 00:00:00 del 1 de enero de 1970 GMT
--- Fin de la cita ---
Ahora entiendo :P
gnfrs:
Más cosas interesantes:
--- Citar --- Nota: En la serie Microsoft Windows de Sistemas Operativos las bibliotecas de sistema que implementan esta función están dañadas, así que gmdate() no soporta valores negativos para el valor marca_de_tiempo. Para más detalles vea los reportes de bug: #22620, #22457, y #14391.
Este problema no ocurre en los Sistemas Operativos Unix/Linux, ya que las bibliotecas de sistema se comportan como es de esperarse.
PHP no puede arreglar bibliotecas de sistema defectuosas. Contacte a su distribuidor del SO para una solución de este y otros problemas similares.
--- Fin de la cita ---
marlon:
--- Cita de: "gnfrs" --- eso me devuelve 31/12/1969 21:00:01 que no es exactamente un segundo después del 1/1/1970. Cabe mencionar que acá en Argentina es GMT -0300 y la diferencia devuelta por el timestamp es de 3 horas menos...
--- Fin de la cita ---
no creo. lo que pasa es que no sabemos exactamente que diablos significa el numero que bota la funcion. al restar dias a una fecha dada a mi tambien me falla los calculos.
Altareum:
Buenas, la verdad no se porque tanta gente se hace problemas con las fechas en PHP... o mejor dicho, sí se porque. La mayoría ignora o deja de lado la potencia de la función mktime...
De hecho Marlon, no se como haces los cálculos, pero te aseguro que para calcular fechas la función mktime, es maravillosa!
La definición de la función es la siguiente:
--- Citar ---int mktime ( [int hora [, int minuto [, int segundo [, int mes [, int dia [, int anyo [, int es_dst]]]]]]] )
--- Fin de la cita ---
Esta función nos devuelve un timestamp, lo que significa como decía gnfrs, una cifra que representa los segundos que pasaron entre el Epoch Unix (1/1/1970 00:00:00 GMT) y los valores especificados.
Dicha función también sirve para calcular con cifras negativas, por ejemplo se puede calcular la fecha anterior al día de hoy:
mktime(0,0,0, date('d')-1 ,7,2006); = 1149649200
si lo usamos con date:
date("d/m/Y", mktime(0,0,0, date('j')-1 ,7,2006)); = 07/06/2006
De esta forma se puede hacer una gran convinación de fechas..... Y como dijo gnfrs, la fecha cuyo timestamp es 0, varía según la pc o mejor dicho, según el sistema operativo.
De hecho, de esta forma, pueden sumarse y restarse fechas:
$a = mktime(0,0,0, 1,2,2006);
$b = mktime(0,0,0, 1,1,2006);
$c = mktime(0,0,0, 1,5,2006);
date("d-m-Y",($a-$b)+$c); = 06-01-2006
O sea, nos muestra el 5 de enero + 1 día, que es la diferencia entre el 2/1 y el 1/1
Altareum.
Navegación
Ir a la versión completa