moment.js obtenir l'heure actuelle en millisecondes?

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

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

Cette solution fonctionne, testez-la, mais je préfère simplement utiliser l'api moment au lieu d'utiliser mon propre code.

Ce code renvoie l'heure TODAYS en millisecondes. J'en ai besoin pour appeler une autre fonction en millisecondes ... Impossible d'utiliser l'époque. Besoin de l'heure d'aujourd'hui formatée en millisecondes. 9h00 = 3,24e + 7 millisecondes 21h00 = 6,84e + 7 millisecondes.


la source
9
var timeInMilliseconds = moment().valueOf();Voir jsfiddle.net/rc1s2ek0
IronAces
c'est depuis l'époque ... J'ai besoin de l'heure d'aujourd'hui en millisecondes et non de l'époque.
Vous avez raison, mais votre question indique que vous voulez l'heure en millisecondes ...
IronAces
2
Le plus simple est probablement d'obtenir la différence entre l'époque actuelle moins l'époque du début d'aujourd'hui
Geert-Jan

Réponses:

38

Voir ce lien http://momentjs.com/docs/#/displaying/unix-timestamp-milliseconds/

valueOf() est la fonction que vous recherchez.

Édition de ma réponse (OP veut des millisecondes d'aujourd'hui, pas depuis l'époque)

Vous voulez la milliseconds()fonction OU vous pouvez suivre la voie demoment().valueOf()

James
la source
1
Merci mais ce n'est pas ce que je demande, c'est depuis l'année d'époque ... l'heure actuelle en millisecondes.
@ code20 ahh, gotcha. On dirait qu'Amy a répondu ci-dessus. Vous recherchez la fonction millisecondes () ou vous pouvez créer un moment vide et utiliser la fonction valueOf. J'ai révisé ma réponse ci-dessus. momentjs a une très bonne documentation là-dessus et c'est assez organisé. Vous pouvez faire des choses assez intéressantes avec. Vous devriez le regarder si vous en avez l'occasion!
James
La réponse d'Amys est incorrecte. c'est le temps 0-999 millisecondes, j'ai lu une bonne quantité de documents et recherché. Je ne peux vraiment pas comprendre celui-ci.
@ code20 Vous cherchez à obtenir les millisecondes de la date d'aujourd'hui? Je suis un peu confus. Vous ne pouvez pas utiliser l'heure de l'époque en millisecondes?
James
1
@ code20, vous devez vraiment être plus précis sur ce que vous voulez. Jusqu'à présent, vous avez reçu des réponses pour ms depuis l'époque, ou les "ms de l'heure actuelle", ce que vous avez demandé. Millisecondes depuis minuit, c'est assez différent.
Amy
21
var timeArr = moment().format('x');

renvoie l'horodatage de la milliseconde Unix selon la documentation format () .

Alexandr Golovchuk
la source
8
Attention, il renvoie l'horodatage en millisecondes mais sous forme de chaîne, préfère moment (). ValueOf () qui renvoie un nombre
Julien
10

Vous pouvez soustraire l'horodatage actuel de minuit le même jour.

Utilisation de l'horodatage actuel:

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

En utilisant un jour arbitraire:

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

Vous pouvez simplement obtenir les composants de temps individuels et calculer le total. Vous semblez vous attendre à ce que Moment ait déjà cette fonctionnalité parfaitement intégrée pour vous, mais ce n'est pas le cas. Je doute que ce soit quelque chose dont les gens ont besoin très souvent.

Exemple:

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
la source
0

Étant donné que ce fil est le premier de Google que j'ai trouvé, un moyen précis et paresseux que j'ai trouvé est:

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()

maintenant, ajoutez simplement quelques prototypes (tels que toDuration ()) / .asMilliseconds () dans moment et vous pouvez facilement passer en millisecondes () ou autre!

0xCDCDCDCD
la source
-4

Pour obtenir les millisecondes de l'heure actuelle, utilisez http://momentjs.com/docs/#/get-set/millisecond/

var timeInMilliseconds = moment().milliseconds();
Amy
la source
il s'agit de millisecondes 0-999 J'ai besoin de l'heure d'aujourd'hui (heures minutes secondes) convertie en millisecondes .....