Red de conocimiento informático - Material del sitio web - Cómo implementar la conversión de marca de tiempo

Cómo implementar la conversión de marca de tiempo

Me he encontrado con un problema con las marcas de tiempo antes. Para no ser despreciado por todos, primero explicaré el concepto.

No sé cómo se define la marca de tiempo específica, pero hay esta frase en la Enciclopedia Baidu: “La marca de tiempo es el número total de marcas de tiempo desde el 1 de enero de 1970 (00:00:00 GMT) a la hora actual".

Según esta definición, existe una función similar en los lenguajes de programación, getTime(), pero esta función devuelve el número total de milisegundos desde el 1 de enero de 1970 hasta la hora actual, no el número total de segundos. .

En js, no es difícil convertir un carácter en tipo de fecha:

var str = '2013-08-30' // Cadena de fecha

str = str.replace(/-/g,'/'); // Reemplazar - con /, porque el siguiente constructor solo admite cadenas de fechas separadas por /

var date = new Date(str) ; //Construye datos de tipo fecha, el valor se pasa en cadena

En lo anterior, new Date(str) construye una fecha y el parámetro str debe proporcionar al menos el año, mes y día. , es decir, una cadena con el formato "2013/03/08", no puede ser "2013/03", de lo contrario obtendrá un NaN. El tiempo construido en este momento es: 08/03/2013 00:00:00. Al mismo tiempo, también puede pasar horas, minutos y segundos, pero no puede pasar solo horas, como "2013/03/08 17". Dichos parámetros también obtendrán un NaN. El parámetro puede ser "2013/03/08 17:20" o "2013/03/08 17:20:05", para que se pueda obtener la hora correcta. Si no se proporciona el número de segundos, el valor predeterminado es 0. .

Lo que obtienes en este momento son datos de fecha. Si deseas obtener la llamada marca de tiempo anterior, puedes hacer esto:

var time = date.getTime();

El resultado obtenido de esta forma es un valor numérico, que representa el número de milisegundos desde las 0:00:00 del 1 de enero de 1970 hasta el momento de la fecha. Si divides este número por 1000, obtienes. obtendrá el número de segundos. Continúe dividiendo entre 60 para obtener minutos, divida entre 60 para obtener horas, y así sucesivamente.

Consejo, a través de esta función getTime(), puedes obtener los milisegundos de dos fechas, luego convertirlos en segundos, minutos, horas o incluso días, y comparar la diferencia entre las dos fechas.