English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
1、comprender getTime
El método getTime() devuelve un valor de tiempo en formato格林威治标准时间.
Se puede usar este método para asignar una fecha y hora a otro objeto Date.
Sintaxis:
dateObj.getTime()
Parámetros:
Ninguno.
Valor de retorno:
El valor de retorno del método getTime() es un número que representa desde1970 años1mes1La distancia en milisegundos desde las 0 horas, 0 minutos y 0 segundos (UTC, tiempo universal coordinado) hasta la fecha representada por el objeto Date.
Ejemplo:
Copiar el objeto Date usando getTime()
Crear un objeto Date con el mismo valor de tiempo.
var birthday = new Date(1994, 12, 10); var copy = new Date(); copy.setTime(birthday.getTime());
Los resultados de la prueba son los siguientes:
Dado que representa desde1970 años1mes1El número de milisegundos desde el inicio del mes, si es menor que197¿Qué pasaría si tuviera 0 años? (Los resultados de la prueba son los siguientes, son números negativos)
2、aplicaciones
2.1 Medir el tiempo de ejecución del código
Llamar dos veces seguidas al método getTime de un objeto Date recién creado, y calcular la diferencia de tiempo entre las dos llamadas. Esto se puede usar para calcular el tiempo de ejecución de ciertas operaciones.
var end, start, i; start = new Date(); for (i = 0; i < 100000; i++) { Math.sqrt(i); } end = new Date(); console.log("Operación tomó ") + (end.getTime() - start.getTime()) + "msec");
Se realizó una prueba en el navegador Chrome:
2.2 Representación de tiempo en el gráfico de Gantt
Recientemente, al ajustar teamwork gantt, descubrí que, el tiempo de inicio y finalización de una tarea es representado por un entero, y ese valor es el formato de representación UTC. El formato es el siguiente:
{"tasks":[ {"id":-1,"name":"Gantt editor","code":"","level":0,"status":"STATUS_ACTIVE","canWrite":true,"start":1396994400000,"duration":21,"end":1399672799999,"startIsMilestone":true,"endIsMilestone":false,"collapsed":false,"assigs":[],"hasChild":true} ,{"id":-2,"name":"coding","code":"","level":1,"status":"STATUS_ACTIVE","canWrite":true,"start":1396994400000,"duration":10,"end":1398203999999,"startIsMilestone":false,"endIsMilestone":false,"collapsed":false,"assigs":[],"description":"","progress":0,"hasChild":true} ,{"id":-3,"name":"gantt part","code":"","level":2,"status":"STATUS_ACTIVE","canWrite":true,"start":1396994400000,"duration":2,"end":1397167199999,"startIsMilestone":false,"endIsMilestone":false,"collapsed":false,"assigs":[],"depends":"","hasChild":false} ,{"id":-4,"name":"editor part","code":"","level":2,"status":"STATUS_SUSPENDED","canWrite":true,"start":1397167200000,"duration":4,"end":1397685599999,"startIsMilestone":false,"endIsMilestone":false,"collapsed":false,"assigs":[],"depends":"","hasChild":false} ,{"id":-5,"name":"testing","code":"","level":1,"status":"STATUS_SUSPENDED","canWrite":true,"start":1398981600000,"duration":6,"end":1399672799999,"startIsMilestone":false,"endIsMilestone":false,"collapsed":false,"assigs":[],"depends":"","description":"","progress":0,"hasChild":true} ,{"id":-6,"name":"test on safari","code":"","level":2,"status":"STATUS_SUSPENDED","canWrite":true,"start":1398981600000,"duration":2,"end":1399327199999,"startIsMilestone":false,"endIsMilestone":false,"collapsed":false,"assigs":[],"depends":"8SF:11","hasChild":false} ,{"id":-7,"name":"test on safari","code":"","level":2,"status":"STATUS_SUSPENDED","canWrite":true,"start":1398981600000,"duration":2,"end":1399327199999,"startIsMilestone":false,"endIsMilestone":false,"collapsed":false,"assigs":[],"depends":"8SF","hasChild":false} ,{"id":-8,"name":"test on ie","code":"","level":2,"status":"STATUS_SUSPENDED","canWrite":true,"start":1400688000000,"duration":3,"end":1400947199999,"startIsMilestone":false,"endIsMilestone":false,"collapsed":false,"assigs":[],"depends":"","hasChild":false} ,{"id":-9,"name":"test on chrome","code":"","level":2,"status":"STATUS_SUSPENDED","canWrite":true,"start":1399327200000,"duration":2,"end":1399499999999,"startIsMilestone":false,"endIsMilestone":false,"collapsed":false,"assigs":[],"links":"","hasChild":false} ,{"id":-10,"name":"Gantt editor","code":"","level":0,"status":"STATUS_ACTIVE","canWrite":true,"start":1396994400000,"duration":21,"end":1399672799999,"startIsMilestone":true,"endIsMilestone":false,"collapsed":false,"assigs":[],"hasChild":true} ,{"id":-11,"name":"coding","code":"","level":1,"status":"STATUS_ACTIVE","canWrite":true,"start":1396994400000,"duration":10,"end":1398203999999,"startIsMilestone":false,"endIsMilestone":false,"collapsed":false,"assigs":[],"description":"","progress":0,"hasChild":true} ,{"id":-12,"name":"gantt part","code":"","level":2,"status":"STATUS_ACTIVE","canWrite":true,"start":1396994400000,"duration":2,"end":1397167199999,"startIsMilestone":false,"endIsMilestone":false,"collapsed":false,"assigs":[],"depends":"","hasChild":false} ,{"id":-14,"name":"editor part","code":"","level":2,"status":"STATUS_SUSPENDED","canWrite":true,"start":1397167200000,"duration":4,"end":1397685599999,"startIsMilestone":false,"endIsMilestone":false,"collapsed":false,"assigs":[],"depends":"","hasChild":false} ,{"id":-15,"name":"testing","code":"","level":1,"status":"STATUS_SUSPENDED","canWrite":true,"start":1398981600000,"duration":6,"end":1399672799999,"startIsMilestone":false,"endIsMilestone":false,"collapsed":false,"assigs":[],"depends":"","description":"","progress":0,"hasChild":true} ,{"id":-16,"name":"test on safari","code":"","level":2,"status":"STATUS_SUSPENDED","canWrite":true,"start":1398981600000,"duration":2,"end":1399327199999,"startIsMilestone":false,"endIsMilestone":false,"collapsed":false,"assigs":[],"depends":"","hasChild":false} ,{"id":-17,"name":"test on ie","code":"","level":2,"status":"STATUS_SUSPENDED","canWrite":true,"start":1399327200000,"duration":3,"end":1399586399999,"startIsMilestone":false,"endIsMilestone":false,"collapsed":false,"assigs":[],"depends":"","hasChild":false} ,{"id":-18,"name":"test on chrome","code":"","level":2,"status":"STATUS_SUSPENDED","canWrite":true,"start":1399327200000,"duration":2,"end":1399499999999,"startIsMilestone":false,"endIsMilestone":false,"collapsed":false,"assigs":[],"depends":"","hasChild":false} ],"selectedRow":0,"canWrite":true,"canWriteOnParent":true}
En el gráfico de Gantt, usar getTime para representar el tiempo tiene los siguientes beneficios:
Es fácil calcular la diferencia entre dos tiempos
La estructura de almacenamiento de datos es bastante simple
Dado que gantt implica el dibujo, es conveniente usar datos enteros para el procesamiento
3、Compatibilidad del navegador
Al usar JavaScript en el navegador, hay limitaciones impuestas por el navegador, y la compatibilidad de las bibliotecas de JavaScript varía entre diferentes navegadores. Mientras que como un método de la biblioteca estándar Date, su compatibilidad con los navegadores es la siguiente:
4、Referencias
Date.prototype.getTime():https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Referencia/Global_Objects/Date/getTime