「HH:MM」という形式の時間を2つ持っています。それらを比較したいのですが、次のコードを使用して、現在の時間を自分の形式で取得します。
current_time = new Date();
hour = current_time.getHours();
minute = current_time.getMinutes();
if(hour<10){hour='0'+hour} if(minute<10){minute='0'+minute}
my_time = hour+':'+minute;
そして、このコードはGMTの差を引いた後の時間を取得することです:
d = new Date()
var n = d.getTimezoneOffset();
var n1 = Math.abs(n);
var difference = (n1/60);
my_time = my_time - (0+difference);
ここで、my_timeの値をmatch_timeの値と比較する必要があります。
match_time = 10:00;//for example
if(my_time > match_time)
{
alert('yes');
}
else
{
alert('No');
}
それらの値が文字列である時間としてどのように比較できますか???
dateオブジェクトを使用します。 Date.setHours() では、時間、分、秒を指定できます
var currentD = new Date();
var startHappyHourD = new Date();
startHappyHourD.setHours(17,30,0); // 5.30 pm
var endHappyHourD = new Date();
endHappyHourD.setHours(18,30,0); // 6.30 pm
console.log("happy hour?")
if(currentD >= startHappyHourD && currentD < endHappyHourD ){
console.log("yes!");
}else{
console.log("no, sorry! between 5.30pm and 6.30pm");
}
Date.parse('25/09/2013 13:31') > Date.parse('25/09/2013 9:15')
編集:
興味のない任意の日付を解析していることに注意してください。両側で同じである必要があります。
if(Date.parse('01/01/2011 10:20:45') == Date.parse('01/01/2011 5:10:10')) {
alert('same');
}else{
alert('different');
}
The 1st January is an arbitrary date, doesn't mean anything.
@Gabo Esquivelソリューションに投票するのに十分な担当者がいた場合。数日間、私は解決策を探してテストしましたが、これが私のために働いた唯一のものです。
現在の時刻が0830であるかどうかをテストする条件付きステートメントが必要でした。 ifステートメントが機能しなかったため、他の例を使用する必要がありました。
//Business Hours: Saturday 8:30am-12pm; highlight Saturday table row.
function showSaturdayHours() {
var today = new Date();
var weekday = today.getDay();
var saturdayOpen = new Date();
saturdayOpen.setHours(8, 30, 0);
var saturdayClose = new Date();
saturdayClose.setHours(12, 0, 0);
if (weekday == 6) {
$('#saturday-row').addClass('row-blue'); //highlight table row if current day is Saturday.
if (today >= saturdayOpen && today < saturdayClose) {
document.getElementById('saturday-open').innerHTML = 'Open';
} else {
document.getElementById('saturday-open').innerHTML = 'Closed';
}
}
}
営業時間表: JSFiddle
@Arjun Solと同様に、Date.parseを使用する代わりに、文字列自体から時間を取得し、新しいDateオブジェクトを作成して比較を行うことができます。
const time1 = '12:42';
const time2 = '18:30';
const getTime = time => new Date(2019, 9, 2, time.substring(0, 2), time.substring(3, 5), 0, 0);
const result = getTime(time1) < getTime(time2);
console.log('This should be true:', result);
</ code>
私たちはいくつかのハックを行うことができます。
var time1 = "09:30";
var time2 = "10:30";
var time1Date= new Date("01/01/2000 "+time1);
var time2Date= new Date("01/01/2000 "+time2);
if(time1Date >= time2Date ){
console.log("time1");
}else{
console.log("time2");
}