2017-09-25 3 views
2

文字列形式の時刻と現在の時刻を比較しようとしています。私は2つのDateオブジェクトを設定しようとしていて、それらのどちらかで.Now()を呼び出してみたところ、そのうちの1つでは、時間を文字列形式に分割し、時間と分を整数に解析する[[0] 15とスプリットを= 00' とデバッガで以下のとき、私はこれを分割することで分割見ることができます。私が使用している「カットオフ」値が'15で文字列から時間を変換するときにsetHoursが関数ではありません

setHours is not a function

:私は次のエラーを取得します1] = 00(それらが整数に解析される前に、これがある。

var cutoff = data.CutOff; 
var split = cutoff.split(":"); 
var today = Date.now(); 
var hours = parseInt(split[0]); 
var min = parseInt(split[1]); 
today.setHours(hours, min); 
if (Date.now() < today) { 
    // Do Something 
} 
+0

[MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/now): "Date.now()メソッドは、経過したミリ秒数を返します1970年1月1日00:00:00 UTC以来です。 – epascarello

+0

あなたの 'today'はDateオブジェクトではなく、その数(エポックから現在までのミリ秒まで)であり、正しく数値に対してsetHoursメソッドを呼び出すことはできません。これを行うには、Dateオブジェクトインスタンスが必要です。私はこれが役立つことを願っています –

答えて

6

あなたはDate.now()

とは対照的に、 new Date()をしたいです

new Dateは、DateメソッドにアクセスするためのDateインスタンスを作成します。

Date.now()メソッドは、1970年1月1日00:00:00 UTCから経過したミリ秒数を返します。

+0

ありがとう - どのように比較で動作しますか?今日の時間で日付オブジェクトを作成する方法はありますか? –

+0

@WebDevelopWolf 'new Date()'を使用してください... – epascarello

+0

ちょうど新しい日付()?そのままで? –

関連する問題