web-dev-qa-db-ja.com

moment.jsは現在の時間をミリ秒単位で取得しますか?

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

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

このソリューションは動作しますが、テストしますが、自分のコードを使用する代わりに、モーメントAPIを使用したいだけです。

このコードは、ミリ秒単位でTODAYS時間を返します。ミリ秒単位で別の関数を呼び出す必要があります...エポックを使用できません。ミリ秒単位でフォーマットされた今日の時間が必要です。午前9:00 = 3.24e + 7ミリ秒午後9:00 = 6.84e + 7ミリ秒。

59
user7002036

ドキュメントから: http://momentjs.com/docs/#/parsing/unix-timestamp-milliseconds/

したがって、次のいずれかを使用します。


moment(...).valueOf()

既存の日付を解析し、表現をUNIXタイムスタンプに変換する


moment().valueOf()

現在のUNIXタイムスタンプ用

101

このリンクを参照してください http://momentjs.com/docs/#/displaying/unix-timestamp-milliseconds/

valueOf()は探している関数です。

私の答えを編集する(OPはエポック以降ではなく今日のミリ秒が必要です)

milliseconds()関数ORが必要な場合は、moment().valueOf()のルートに行くことができます

32
James
var timeArr = moment().format('x');

format()documentation に従ってUnixミリ秒タイムスタンプを返します。

16

同じ日の午前12時から現在のタイムスタンプを減算できます。

現在のタイムスタンプを使用:

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

任意の日を使用:

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

個々の時間コンポーネントを取得して、合計を計算できます。 Momentは、この機能が既にきちんとパッケージ化されていると期待しているようですが、そうではありません。人々が非常に頻繁に必要としているものだとは思いません。

例:

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
JLRishe