2010-08-13 16 views
5

En la mayoría de los lenguajes de Programación o scripting como PHP o JavaScript, he encontrado la función de tiempo que tiende a calcular el tiempo desde el año 1970. Por ejemplo, en javascript si uso la función getTime() o en PHP el tiempo() devuelve un valor entero.¿por qué tenemos que calcular el tiempo del año 1970?

En PHP.

el código con <?php echo time(); ?> devuelve un valor entero de 1281694425, ¿qué explica el valor devuelto por el PHP? ¿cómo y cuándo es útil?

lo mismo en javascript el getTime() devuelve el valor flotante desde 1970 como dice. mediante el uso de la siguiente secuencia de comandos en JS

<script type="text/javascript"> 
var d=new Date(); 
document.write(d.getTime() + " milliseconds since 1970/01/01"); 
</script> 

quiero saber cuándo es útil este tipo de funciones para usar? y cómo lo usamos?

P.S: ¿es útil para calcular el intervalo de tiempo? o se usa para almacenar la marca de tiempo actual?

+1

¿Cuál es su pregunta? ¿Por qué se usan tiempos de época o cómo usarlos? – Oded

+0

ambos. me refiero a cuándo es útil la función (por ejemplo, marca de tiempo actual, etc.). ¿y cómo lo usamos si devuelve el valor en milisegundos? –

Respuesta

7

Se le dará los segundos, lo que ha pasado desde el 1 de enero de 1970. Esto es útil delanteras varias razones:

  1. Clasificación de las fechas es tan simple como ordenar números enteros.
  2. Es fácil obtener la duración de un intervalo, simple do t1-t2 y obtendrá la diferencia en segundos nuevamente.
  3. No es necesario manejar diferentes formatos de fecha (como MM/DD/AA o DD/AA/MM): todos los lenguajes de programación y todas las bases de datos admiten enteros.
+0

así que, básicamente, ¿quiere decir que se usa para almacenar la diferencia de tiempo o el intervalo de tiempo y no la marca de tiempo actual? –

+1

Más bien, una marca de tiempo es un intervalo entre un punto de referencia y otro momento. Por ejemplo, el año 2010 es dos mil diez años después de un evento notable. d.getTime() devuelve el número de milisegundos después de 1970/01/01. 1281694425 * es * una marca de tiempo. – Douglas

+0

Una cosa a tener en cuenta: tales marcas de tiempo representan un ** instante en el tiempo **. Esto se confunde fácilmente cuando tiene que hacer cálculos en el nivel de fecha. Si bien es aparentemente fácil usar una marca de tiempo para almacenar una fecha (simplemente ajuste el reloj a 00:00), rápidamente se torna incómoda cuando se introducen las zonas horarias y/o algunos valores que participan en los cálculos no son a las 00:00. Por lo tanto, si necesita almacenar y trabajar con fechas, recomendaría un tipo de datos diferente (o MUCHA precaución). –

1

Significa que si recalcula el tiempo del entero en otra zona horaria obtendrá la hora correcta para cualquier zona horaria que esté accediendo a ella. Creo que :-)

+0

¿Quiere decir que es útil al calcular los intervalos de tiempo? o puede usarse para almacenar la marca de tiempo actual también? –

+0

Sí, puede usarlo como marca de tiempo. – Dom

Cuestiones relacionadas