moment.js obtiene la hora actual en milisegundos?

93
var timeArr = moment().format('HH:mm:ss').split(':');

var timeInMilliseconds = (timeArr[0] * 3600000) + (timeArr[1] * 60000);

Esta solución funciona, pruébela, pero prefiero usar la API de momento en lugar de usar mi propio código.

Este código devuelve el tiempo HOY en milisegundos. Lo necesito para llamar a otra función en milisegundos ... No puedo usar la época. Necesita formatear la hora de hoy en milisegundos. 9:00 am = 3.24e + 7 milisegundos 9:00 pm = 6.84e + 7 milisegundos.


fuente
9
var timeInMilliseconds = moment().valueOf();Ver jsfiddle.net/rc1s2ek0
IronAces
esto es desde la época ... Necesito el tiempo de hoy en milisegundos, no la época.
Tienes razón, pero tu pregunta dice que quieres el tiempo en milisegundos ...
IronAces
2
Lo más fácil es probablemente obtener la diferencia de época de ahora menos época de inicio de hoy
Geert-Jan

Respuestas:

38

Vea este enlace http://momentjs.com/docs/#/displaying/unix-timestamp-milliseconds/

valueOf() es la función que estás buscando.

Editando mi respuesta (OP quiere milisegundos de hoy, no desde época)

Quieres la milliseconds()función O puedes seguir la ruta demoment().valueOf()

James
fuente
1
Gracias, pero eso no es lo que estoy preguntando, eso es desde el año de la época ... la hora actual de hoy en milisegundos.
@ code20 ahh, te tengo. Parece que Amy lo respondió arriba. Está buscando la función milisegundos () o puede crear un momento vacío y usar la función valueOf. Revisé mi respuesta anterior. momentjs tiene muy buena documentación sobre ese tema y está bastante organizado. Puedes hacer algunas cosas bastante interesantes con él. ¡Deberías revisarlo si tienes la oportunidad!
James
La respuesta de Amy es incorrecta. ese es el tiempo 0-999 milisegundos, he leído una buena cantidad de documentos y he buscado. Realmente no puedo resolver esto.
@ code20 ¿Está buscando obtener los milisegundos de la fecha de hoy? Estoy un poco confundida. ¿No puedes usar el tiempo de época de milisegundos?
James
1
@ code20 realmente necesita ser más específico en lo que quiere. Hasta ahora ha recibido respuestas para ms desde la época, o "ms de la hora actual", que era lo que solicitaba. Milisegundos desde la medianoche es bastante diferente.
Amy
21
var timeArr = moment().format('x');

devuelve la marca de tiempo de milisegundos de Unix según la documentación de format () .

Alexandr Golovchuk
fuente
8
Tenga cuidado, devuelve la marca de tiempo en milisegundos pero como una cadena, preferencia moment (). ValueOf () que devuelve un número
Julien
10

Puede restar la marca de tiempo actual de las 12 a. M. Del mismo día.

Usando la marca de tiempo actual:

moment().valueOf() - moment().startOf('day').valueOf()

Usando día arbitrario:

moment(someDate).valueOf() - moment(someDate).startOf('day').valueOf()
Jeremy Quick
fuente
0

Puede obtener los componentes de tiempo individuales y calcular el total. Parece que espera que Moment ya tenga esta función perfectamente empaquetada para usted, pero no es así. Dudo que sea algo que la gente necesite con mucha frecuencia.

Ejemplo:

var m = moment();

var ms = m.milliseconds() + 1000 * (m.seconds() + 60 * (m.minutes() + 60 * m.hours()));

console.log(ms);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>

JLRishe
fuente
0

Dado que este hilo es el primero de Google que encontré, una forma precisa y perezosa que encontré es:

const momentObject = moment().toObject();
// date doesn't exist with duration, but day does so use it instead
//   -1 because moment start from date 1, but a duration start from 0
const durationCompatibleObject = { ... momentObject, day: momentObject.date - 1 };
delete durationCompatibleObject.date;

const yourDuration = moment.duration(durationCompatibleObject);
// yourDuration.asMilliseconds()

ahora solo agregue algunos prototipos (como toDuration ()) / .asMilliseconds () en el momento y puede cambiar fácilmente a milisegundos () o lo que sea.

0xCDCDCDCD
fuente
-4

Para obtener los milisegundos de la hora actual, use http://momentjs.com/docs/#/get-set/millisecond/

var timeInMilliseconds = moment().milliseconds();
Amy
fuente
esto es milisegundos 0-999 Necesito que la hora de hoy (horas minutos segundos) se convierta en milisegundos .....