tiempo online normal fecha convertir timestamp

timestamp - online - unix time converter



¿Las marcas de tiempo de Unix son la mejor manera de almacenar marcas de tiempo? (9)

¿Qué época necesitas almacenar y a qué resolución? Si necesita microsegundos, o fechas en el tiempo de la edad de piedra, podría no ser el mejor. Para fines comerciales generales, es bastante bueno (suponiendo 64 bits)

Siempre uso las marcas de tiempo de Unix para todo, pero me pregunto si hay una mejor manera.

¿Qué usas para almacenar marcas de tiempo y por qué?


Depende de para qué necesita las marcas de tiempo.

Una marca de tiempo de unix no puede representar el tiempo 1 segundo después de 2008-12-31T23: 59: 59Z. Si ''2009-01-01T09: 00: 00'' - ''2008-12-31T09: 00: 00'' con marcas de tiempo de UNIX el resultado NO es correcto: habrá un segundo intercalado entre esas dos fechas y se separarán por 86401 segundos (no 86400 como las marcas de tiempo de unix le dirán).

Aparte de eso y lo que dijeron los otros respondedores, sí, las marcas de tiempo de Unix son el camino a seguir :)


Si está almacenando un archivo de registro, por favor, para el amor de Pete, que sea algo legible y léxico.

2008-10-07 09:47:02 por ejemplo.


Una marca de tiempo es básicamente

  • un punto distinto en el tiempo

Y como un punto en el tiempo tiene una resolución infinita, lo importante al elegir un formato de marca de tiempo es: ¿tiene suficiente resolución?

Para la mayoría de las aplicaciones que tuve, nanosegundos fueron suficientes. Así que Java Timestamp tenía la resolución correcta para mí hasta ahora.


timeval-style (time_t + microsegundos) si necesito una precisión inferior a la del segundo, sino solo time_t. Puede usar un valor entero de 64 bits para almacenar time_t * 1000000 + usec y tiene una prueba de desbordamiento durante más de +/- 292,000 años.



Una marca de tiempo no es una buena idea en las bases de datos, ya que no toman en cuenta el horario de verano ni la hora local actual. En MySQL, es mejor almacenarlo como un tiempo, y luego usar las funciones de fecha y hora de MySQL para recuperar las partes que desea, o compararlas con otras fechas.


El problema de UNIX Timestamp de 32 bits parece ser bastante molesto para los usuarios que ingresan fechas futuras en 2038+.

Utilice la secuencia DATETIME para MySQL, o almacene sus fechas como BIGINT (8) unsigned (max: 18 quintillion) o FLOAT para que pueda ingresar números grandes. Entonces no puede usar, por ejemplo, la función date () de PHP porque solo permite números enteros como parámetro (limitado por sistemas de 32 bits).

La solución que encontré es usar funciones PHP 5.2.0 . Aquí está la solución de PHP DateTime .

No es necesario cambiar el formato UNIX_TIMESTAMP. Siempre que tenga BIGINT (8) sin firmar como su almacenamiento MySQL para marcas de tiempo. Ya no estará limitado por sistemas de 32 bits.


Independientemente de cómo elija almacenar una marca de tiempo, es importante evitar problemas de interpretación regional y problemas de compensación de tiempo. Una marca de tiempo de Unix se interpreta igual independientemente de la región, y se calcula a partir del mismo punto en el tiempo independientemente de la zona horaria: estas son cosas buenas.

Tenga cuidado al almacenar las marcas de tiempo como cadenas ambiguas, como 01/02/2008, ya que pueden interpretarse como el 2 de enero de 2008 o el 1 de febrero de 2008, dependiendo de la configuración regional.

Cuando se almacenan horas / minutos / segundos, es importante saber "qué" hora / minuto / segundo se está especificando. Puede hacerlo incluyendo información de zona horaria (no necesaria para una marca de tiempo Unix, ya que se supone que es UTC).

Sin embargo, tenga en cuenta que las marcas de tiempo de Unix no pueden representar de manera única algunos instantes en el tiempo: cuando hay un segundo intercalar en UTC, la marca de tiempo de Unix no cambia, por lo que ambas 23:59:60 UTC y 00:00:00 del día siguiente tienen el mismo Representación de Unix. Entonces, si realmente necesita una resolución de un segundo o mejor, considere otro formato.

Si prefiere un formato de almacenamiento más legible para humanos que una marca de tiempo Unix, considere ISO 8601 .

Una técnica que ayuda a mantener las cosas claras es almacenar fechas como UTC y solo aplicar desplazamientos de zona horaria o DST al mostrar una fecha a un usuario.