Quiero convertir la fecha a la marca de tiempo, mi entrada es 26-02-2012. solía
new Date(myDate).getTime();
Dice NaN .. ¿Alguien puede decir cómo convertir esto?
javascript
date
time
selladurai
fuente
fuente

Date(myDate).getTime()(lo que ha marcado como código) o la palabra "nuevo" antes de que fuera parte del código? Cuanto más esfuerzo pongas, mejores serán las respuestas que obtendrás.Respuestas:
Actualizar:
DEMO (Probado en Chrome, FF, Opera, IE y Safari).
fuente
NaN. En Safari, debe usar el otro posible constructornew Date(year, month, day);, en relación con este ejemplo:new Date(myDate[2], myDate[1], myDate[0]);YYYY-MM-DD), que se garantiza que sea entendidoDate()y, en términos generales, es el formato más interoperable para las cadenas de fecha.new Date(newDate).getTime()producirá una marca de tiempo en resolución de milisegundos.Math.floor(new Date(newDate).getTime() / 1000)Pruebe esta función, utiliza el método Date.parse () y no requiere ninguna lógica personalizada:
fuente
fuente
este código refactorizado lo hará
esto funciona en todos los navegadores modernos excepto ie8-
fuente
Hay dos problemas aquí. Primero, solo puede llamar a getTime en una instancia de la fecha. Debe ajustar la nueva Fecha entre paréntesis o asignarla a la variable.
En segundo lugar, debe pasarle una cadena en un formato adecuado.
Ejemplo de trabajo:
fuente
Solo necesita invertir su dígito de fecha y cambiar
-con,:En tu caso:
La configuración regional de PS UK no importa aquí.
fuente
Numberde cadenas que comienzan con a0es problemático en algunos motores: useparseInty especifique una raíz.fuente
Para convertir la fecha (ISO) a la marca de tiempo de Unix , terminé con una marca de tiempo de 3 caracteres más de lo necesario, por lo que mi año fue de alrededor de 50k ...
Tuve que dividirlo por 1000:
new Date('2012-02-26').getTime() / 1000fuente
Para aquellos que desean tener una marca de tiempo legible en formato de,
yyyymmddHHMMSSEjemplo de uso: una extensión de archivo de respaldo.
/my/path/my.file.js.20190220fuente
En caso de que hayas venido aquí buscando la marca de tiempo actual
TLDR:
fuente
Su cadena no está en un formato que el
Dateobjeto está especificado para manejar . Tendrá que analizarlo usted mismo, usar una biblioteca de análisis de fechas como MomentJS o la anterior (y no se mantiene actualmente, por lo que puedo decir) DateJS , o masajearla en el formato correcto (por ejemplo,2012-02-29) antes de preguntarDateanalizarla .Por qué está obteniendo
NaN: cuando solicitanew Date(...)manejar una cadena no válida, devuelve unDateobjeto que se establece en una fecha no válida (new Date("29-02-2012").toString()devoluciones"Invalid date"). LlamandogetTime()a un objeto de fecha en este estado regresaNaN.fuente
Dateobjeto (que no tiene nada que ver con el DOM).fuente
Otros desarrolladores han proporcionado respuestas, pero a mi manera, puede hacerlo sobre la marcha sin crear ninguna función definida por el usuario de la siguiente manera:
fuente