moment.js aktuelle Zeit in Millisekunden erhalten?


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

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

Diese Lösung funktioniert, testen Sie sie, aber ich würde lieber die Moment-API verwenden, anstatt meinen eigenen Code zu verwenden.

Dieser Code gibt HEUTE die Zeit in Millisekunden zurück. Ich brauche es, um eine andere Funktion in Millisekunden aufzurufen ... Kann die Epoche nicht verwenden. Brauchen Sie die heutige Zeit in Millisekunden. 9:00 Uhr = 3,24e + 7 Millisekunden 21:00 Uhr = 6,84e + 7 Millisekunden.


9
var timeInMilliseconds = moment().valueOf();Siehe jsfiddle.net/rc1s2ek0
IronAces

Das ist seit der Epoche ... Ich brauche die heutige Zeit in Millisekunden, nicht die Epoche.

Sie haben Recht, aber Ihre Frage besagt, dass Sie die Zeit in Millisekunden wollen ...
IronAces

2
Am einfachsten ist es wahrscheinlich, den Unterschied zwischen der Epoche von heute und der Epoche des heutigen Starts zu ermitteln
Geert-Jan

Antworten:



38

Siehe diesen Link http://momentjs.com/docs/#/displaying/unix-timestamp-milliseconds/

valueOf() ist die Funktion, die Sie suchen.

Bearbeiten meiner Antwort (OP möchte Millisekunden von heute, nicht seit der Epoche)

Sie möchten die milliseconds()Funktion ODER Sie könnten den Weg gehenmoment().valueOf()


1
Danke, aber das ist nicht das, was ich frage, das ist seit dem Epochenjahr ... die heutige aktuelle Zeit in Millisekunden.

@ code20 ahh, gotcha. Sieht so aus, als hätte Amy es oben beantwortet. Sie suchen nach der Funktion milliseconds () oder Sie können einen leeren Moment erstellen und die Funktion valueOf verwenden. Ich habe meine Antwort oben überarbeitet. momentjs hat wirklich gute Dokumentation zu diesen Sachen und es ist ziemlich gut organisiert. Sie können ein paar hübsche Sachen damit machen. Sie sollten darüber nachdenken, wenn Sie eine Chance bekommen!
James

Amys Antwort ist falsch. das ist Zeit 0-999 Millisekunden, ich habe eine gute Menge der Dokumente gelesen und gesucht. Kann das wirklich nicht herausfinden.

@ code20 Sie möchten die Millisekunden des heutigen Datums abrufen? Ich bin ein wenig verwirrt. Sie können die Millisekunden-Epochenzeit nicht verwenden?
James

1
@ code20 Sie müssen wirklich genauer sein, was Sie wollen. Bisher haben Sie seit der Epoche Antworten für ms erhalten, oder die "aktuelle Zeit ms", die Sie angefordert haben. Millisekunden seit Mitternacht sind ganz anders.
Amy


10

Sie können den aktuellen Zeitstempel von 12 Uhr am selben Tag abziehen.

Aktuellen Zeitstempel verwenden:

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

Beliebigen Tag verwenden:

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

0

Sie können einfach die einzelnen Zeitkomponenten abrufen und die Summe berechnen. Sie scheinen zu erwarten, dass Moment diese Funktion bereits ordentlich für Sie verpackt hat, aber das ist nicht der Fall. Ich bezweifle, dass die Leute das sehr oft brauchen.

Beispiel:

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>


0

Da dieser Thread der erste von Google ist, den ich gefunden habe, ist ein genauer und fauler Weg, den ich gefunden habe:

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

Fügen Sie jetzt einfach einige Prototypen (wie z. B. toDuration ()) / .asMilliseconds () in den Moment ein, und Sie können ganz einfach zu Millisekunden () oder was auch immer wechseln!


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.