Java は、時間が 2 つの時間範囲の間にあるかどうかを判断します。
import java.time.LocalTime;
public class TestExample {
public static void main(String[] args) {
// 获取当前时间
LocalTime now = LocalTime.now();
// 设置前一天的结束时间为第二天的8点
LocalTime previousDayEndTime = LocalTime.of(8, 0);
// 设置第二天的开始时间为19点40分
LocalTime nextDayStartTime = LocalTime.of(19, 40);
// 判断当前时间是否在前一天的结束时间到第二天的开始时间之间
if (now.isAfter(previousDayEndTime) && now.isBefore(nextDayStartTime)) {
System.out.println("当前时间在前一天的结束时间到第二天的开始时间之间");
} else {
System.out.println("当前时间不在前一天的结束时间到第二天的开始时间之间");
}
System.out.println(now);
}
}
このコードは、現在時刻が前日の終了時刻 (翌日の 8:00) と翌日の開始時刻 (19:40) の間にあるかどうかを判断します。この時間範囲内の場合は「SMS を送信しない」を出力し、それ以外の場合は「SMS を送信する」を出力します。実際のニーズに応じて、コード内の SMS 送信のロジック部分を変更してください。
isAfter とはどういう意味ですか?
isAfter
Java のクラスのメソッドでLocalTime
、2 つの時刻が正しいかどうかを比較するために使用されます。このメソッドを呼び出す時刻オブジェクトは、メソッド パラメーターで指定された時刻より後である必要があります。
具体的には、メソッドが呼び出された時刻オブジェクトがメソッド パラメータで指定された時刻より後の場合、メソッドは値をisAfter
返し、それ以外の場合はを返します。boolean
true
false
上記のコード例では次のようになります。
now.isAfter(previousDayEndTime)
now
このステートメントは、現在時刻が前日の終了時刻よりも遅いかどうかを判断するために使用されpreviousDayEndTime
、もしそうであれば、現在時刻が前日の終了時刻よりも遅いことを意味します。
同様に、isBefore
このメソッドを使用して 2 つの時刻が正しいかどうかを比較できます。このメソッドを呼び出す時刻オブジェクトは、メソッド パラメータで指定された時刻より前である必要があります。
ここでの比較は日付ではなく時間の順序に基づいていることに注意してください。
isBefore とはどういう意味ですか?
isBefore
JavaLocalTime
のクラスのメソッドで、2 つの時刻が正しいかどうかを比較するために使用されます。このメソッドを呼び出す時刻オブジェクトは、メソッド パラメータで指定された時刻より前である必要があります。
具体的には、メソッドが呼び出された時刻オブジェクトがメソッド パラメータで指定された時刻より前の場合、メソッドは値をisBefore
返し、それ以外の場合は を返します。boolean
true
false
上記のコード例では次のようになります。
now.isBefore(nextDayStartTime)
now
このステートメントは、現在時刻が翌日の開始時刻より早いかどうかを判断するために使用されnextDayStartTime
、そうであれば、現在時刻が翌日の開始時刻より前であることを意味します。
同様に、isAfter
ある時刻が別の時刻より遅いかどうかを判断するためにメソッドが使用され、また、isBefore
ある時刻が別の時刻より早いかどうかを判断するためにメソッドが使用されます。
ここでの比較は日付ではなく時間の順序に基づいていることに注意してください。