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


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

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

このソリューションは機能し、テストしますが、独自のコードを使用する代わりに、momentapiを使用したいと思います。

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


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

これはエポック以来です....私はエポックではなくミリ秒単位の今日の時間を必要とします。

あなたは正しいですが、あなたの質問はあなたがミリ秒単位で時間を欲しいと述べています...
IronAces 2016年

2
最も簡単なのは、おそらく今のエポックから今日
Geert- 2017

回答:



38

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

valueOf() あなたが探している機能です。

私の答えを編集する(OPはエポック以来ではなく、今日のミリ秒を望んでいます)

あなたはmilliseconds()機能が欲しい、またはあなたはのルートに行くことができますmoment().valueOf()


1
おかげで、それは私が求めていることではありません、それはエポック年以来です...今日のミリ秒単位の現在の時間。

@ code20ああ、お奨め。エイミーが上で答えたようです。ミリ秒()関数を探しているか、空のモーメントを作成してvalueOf関数を使用することができます。上記の回答を修正しました。momentjsには、そこにあるものに関する非常に優れたドキュメントがあり、かなり整理されています。あなたはそれでいくつかのかなりきちんとしたことをすることができます。機会があれば見渡してください!
ブランドン

Amysの答えは正しくありません。つまり、0〜999ミリ秒の時間で、かなりの量のドキュメントを読んで検索しました。本当にこれを理解することはできません。

@ code20今日の日付のミリ秒を取得したいですか?私は少し混乱しています。ミリ秒のエポック時間を使用できませんか?
ブランドン

1
@ code20あなたは本当にあなたが欲しいものをより具体的にする必要があります。これまでのところ、エポックからのミリ秒、つまり「現在の時間のミリ秒」という回答を受け取っています。これはあなたが要求したものです。真夜中からのミリ秒はかなり異なります。
エイミー


11

同じ日の午前12時から現在のタイムスタンプを引くことができます。

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

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

任意の日を使用する:

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

0

個々の時間コンポーネントを取得して、合計を計算するだけです。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

このスレッドは私が見つけたGoogleからの最初のスレッドなので、私が見つけた正確で怠惰な方法の1つは次のとおりです。

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

ここで、いくつかのプロトタイプ(toDuration())/ .asMilliseconds()を瞬間に追加するだけで、ミリ秒()などに簡単に切り替えることができます。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.