2016-10-11 5 views
0
var timeArr = moment().format('HH:mm').split(':'); 
var timeInMilliseconds = (timeArr[0] * 3600000) + (timeArr[1] * 60000); 

これは私の現在の解決策です。私はむしろ、moment apiを使用して、今日の時刻(今日の午前12:00からの時刻)をミリ秒単位で計算します。moment api method今日の時間をミリ秒で計算する

私のコードは今日の時間をミリ秒単位で返します。ミリ秒単位で別の関数を呼び出す必要があります。私はその時代を使うことができない。私は今日の時間をミリ秒で表現する必要があります。

例:

9:00am = 3.24e+7 milliseconds 
9:00pm = 6.84e+7 milliseconds. 

答えて

0

あなたが次のことを試すことができます。

var moment = require("moment"); 
// Compute the time in milliseconds assuming it's 1AM now 
moment("1:00","HH:mm")-moment("00:00","HH:mm") 
// 3600000 


// Compute the time in milliseconds assuming it's 9AM now 
moment("9:00","HH:mm")-moment("00:00","HH:mm") 
// 32400000 

// Compute the time in milliseconds assuming it's 9PM now 
moment("21:00","HH:mm")-moment("00:00","HH:mm") 
// 75600000 

// For current time 
moment()-moment("00:00","HH:mm") 
+0

//現在の時間 モーメント( "00:00"、 "HH:mm") – codebot

+0

//現在の時刻 モーメント( "00:00"、 "HH:mm" ") – codebot

+0

Idk私のコメントを削除する方法^しかしこれはうまくいくようだが、私はただの理由を理解していない。ドキュメントを読み、見つからない。 – codebot

0

あなたは以下の機能を使用することができます。

  • moment() - これは、今、「(あなたは現在の瞬間を与えます")
  • startOf('day') - あなたが必要としないので、

    moment().diff(moment().startOf('day')) 
    

    デフォルトの単位は、ミリ秒以下のとおりです。 - これはあなたの一日

  • diffの最初の瞬間を与え、これは2つの瞬間

一緒にそれを置くとの差を計算しますそれらを指定する。

これは、1日の開始から経過したミリ秒を示します。ただし、真夜中のストロークでDSTスプリングフォワードの移行が発生するタイムゾーン(ブラジルなど)があります。そのような日時には、時計は23:59:59から01:00:00に、その日の最初の瞬間は真夜中ではないかもしれません!そのような状況では、上記の関数によって返された値は、期待した時間から1時間ずれているように見えるかもしれません。それは本当に "真夜中"からの時間ではなく、一日の始まりからの時間を返すことです。

は、あなたの代わりに次の操作を行うことができ、この可能性を補償するために:完全なローカルタイムを維持しながら utcOffset(0, true)はUTCモードに反転します

moment().utcOffset(0, true).diff(moment().utcOffset(0, true).startOf('day')) 

。これは、最初の例よりも複雑ですが、UTCがDSTの移行を経験することはないので、仕事が完了します。

関連する問題