2016-10-05 3 views
1

おそらく以前に尋ねられましたが、これに対する回答が見つかりません。 時間が毎日17時30分を超えているかどうかを確認するにはどうすればよいですか?時間が1日の特定の時間よりも大きいかどうか確認してください

私の場合、現在の時刻が月曜日から金曜日の17:30よりも大きいかどうかをチェックする必要があり、今日の土曜日は15:30より大きいかどうかをチェックする必要があります。

私はMoment.jsの使用をおすすめします。

+0

? –

+0

@SteevePitisまあ、私はそうしますが、他の答えが最初に来て、うまく働いたので誰かがあなたの答えに投票しました。だから私はすでに働いている答えを見つけた後、それに注意を払わなかった。おかげさまで、あなたの答えはMoment.jsをよりよく理解するのに役立ちました。 – Eljas

答えて

2

Date()を使用して時刻を確認できます。真剣に、あなたはこのために大きなプラグインは必要ありません:場合がありますなら、私を知ってみましょう

var curTime = new Date(); 
 
var day = curTime.getDay(); 
 
curTime = parseInt(curTime.getHours() + "" + ("0" + curTime.getMinutes()).substr(-2) + "" + ("0" + curTime.getSeconds()).substr(-2)); 
 

 
if ((curTime > 173000 && day > 0 && day < 6) || (curTime > 153000 && day <= 0 && day >= 6)) 
 
    console.log("It's a good time!"); 
 
else 
 
    console.log("It's not a good time!");

を、これは失敗しました!ここで

+1

ゼロパッドを忘れた –

+0

@MattJohnsonあなたは私を持っています! ':)'更新されました。 –

+1

個人的には、単位乗数を使用してすべての数値を保持することをお勧めしますが、もちろん比較値は合計秒数で表示されます。もう1つのアプローチは、要素を個別に比較することです。 –

3

moment.js

function check() { 
 
    var now = moment(); 
 
    var hourToCheck = (now.day() !== 0)?17:15; 
 
    var dateToCheck = now.hour(hourToCheck).minute(30); 
 
    
 
    return moment().isAfter(dateToCheck); 
 
} 
 

 
console.log(check())
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.15.1/moment.min.js"></script>

+0

私はdownvoteしなかった、あなたのアプローチは合理的ですが、私はあなたがいくつかを逃したと思います。 –

1

と例だけmoment.jsを使用して、別のアプローチを与えるために: "私はMoment.jsの使用を好むか"

var now = moment(); 
var day = now.day(); 
var today1730 = moment('17:30','HH:mm'); 
var today1530 = moment('15:30','HH:mm'); 
var ok = day > 0 && day < 7 ? now.isSameOrAfter(today1730) : now.isSameOrAfter(today1530); 

if (ok) { ... } 
関連する問題