如何将时间作为 "HH:MM:SS" 格式的字符串进行比较?
How to compare times as strings in the format "HH:MM:SS"?
如何检查用户是否准时。
示例:
节目开始于13:50:00,结束于14:50:00。
并且如果用户登录,并且他的时间是14:30:00,他可以登录。
如果他在 14:55:00 再次进来,他就不能再进来了。
您可以将给定的时间字符串解析为 LocalTime
,然后使用 LocalTime#isBefore
和 LocalTime#isAfter
来查找资格。
演示:
import java.time.LocalTime;
public class Main {
static final String startTime = "13:50:00";
static final String endTime = "14:50:00";
public static void main(String[] args) {
// Test
System.out.println(canLogin("13:50:00"));
System.out.println(canLogin("14:30:00"));
System.out.println(canLogin("14:55:00"));
System.out.println(canLogin("14:50:00"));
}
static boolean canLogin(String arrivalTime) {
LocalTime start = LocalTime.parse(startTime);
LocalTime end = LocalTime.parse(endTime);
LocalTime arrival = LocalTime.parse(arrivalTime);
return !arrival.isAfter(end) && !arrival.isBefore(start);
}
}
输出:
true
true
false
true
详细了解 modern Date-Time API* from Trail: Date Time。
* 如果您正在为 Android 项目工作并且您的 Android API 水平仍然不符合 Java-8,请检查Java 8+ APIs available through desugaring. Note that Android 8.0 Oreo already provides support for java.time
。
如何检查用户是否准时。
示例: 节目开始于13:50:00,结束于14:50:00。
并且如果用户登录,并且他的时间是14:30:00,他可以登录。 如果他在 14:55:00 再次进来,他就不能再进来了。
您可以将给定的时间字符串解析为 LocalTime
,然后使用 LocalTime#isBefore
和 LocalTime#isAfter
来查找资格。
演示:
import java.time.LocalTime;
public class Main {
static final String startTime = "13:50:00";
static final String endTime = "14:50:00";
public static void main(String[] args) {
// Test
System.out.println(canLogin("13:50:00"));
System.out.println(canLogin("14:30:00"));
System.out.println(canLogin("14:55:00"));
System.out.println(canLogin("14:50:00"));
}
static boolean canLogin(String arrivalTime) {
LocalTime start = LocalTime.parse(startTime);
LocalTime end = LocalTime.parse(endTime);
LocalTime arrival = LocalTime.parse(arrivalTime);
return !arrival.isAfter(end) && !arrival.isBefore(start);
}
}
输出:
true
true
false
true
详细了解 modern Date-Time API* from Trail: Date Time。
* 如果您正在为 Android 项目工作并且您的 Android API 水平仍然不符合 Java-8,请检查Java 8+ APIs available through desugaring. Note that Android 8.0 Oreo already provides support for java.time
。