• Domingo 19 de Mayo de 2024, 14:55

Autor Tema:  Timestamp?  (Leído 4237 veces)

gnfrs

  • Miembro MUY activo
  • ***
  • Mensajes: 195
    • Ver Perfil
    • http://www.laguns.com.ar/
Timestamp?
« en: Martes 31 de Enero de 2006, 13:21 »
0
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
  1. echo date('d/m/Y H:i:s', 1);
  2.  

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.
Gabriel S. Luraschi

·· Videos de Guns and Roses LAGUNS - Banda tributo a Guns N' Roses ··

.

gnfrs

  • Miembro MUY activo
  • ***
  • Mensajes: 195
    • Ver Perfil
    • http://www.laguns.com.ar/
Re: Timestamp?
« Respuesta #1 en: Martes 31 de Enero de 2006, 13:27 »
0
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

Ahora entiendo  :P
Gabriel S. Luraschi

·· Videos de Guns and Roses LAGUNS - Banda tributo a Guns N' Roses ··

.

gnfrs

  • Miembro MUY activo
  • ***
  • Mensajes: 195
    • Ver Perfil
    • http://www.laguns.com.ar/
Re: Timestamp?
« Respuesta #2 en: Martes 31 de Enero de 2006, 13:37 »
0
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.
Gabriel S. Luraschi

·· Videos de Guns and Roses LAGUNS - Banda tributo a Guns N' Roses ··

.

marlon

  • Miembro MUY activo
  • ***
  • Mensajes: 153
    • Ver Perfil
Re: Timestamp?
« Respuesta #3 en: Viernes 7 de Abril de 2006, 15:37 »
0
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...
 
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.
"No trates de inventar la rueda... Si algo ya esta hecho, solo tómalo, analízalo, entiéndelo, adáptalo y úsalo..."
Marlon Chacon Herrera
[/i]

Altareum

  • Miembro MUY activo
  • ***
  • Mensajes: 327
    • Ver Perfil
    • http://www.avian.com.ar
Re: Timestamp?
« Respuesta #4 en: Viernes 7 de Abril de 2006, 21:34 »
0
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]]]]]]] )

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.
El postre!, el postre!, el postre!, el postre!, el postre!, el postre!.....
 | Klinka | Kiree | Avian |