我想创建一个应用程序,允许用户检查当前时间是否在指定的时间间隔之间。更具体地说,我使用sqllite程序创建了一个sql表,该表指定了每个记录的结束时间和开始时间。问题是每个字段可以包含的数据类型仅限于文本,数字和日期时间类型以外的其他类型。那么,我怎样才能检查当前时间是否在开始和结束时间之间,因为时间格式是h:mm,而不仅仅是我可以做的小于或大于的整数值?我必须将当前时间转换为分钟吗?
答案 0 :(得分:0)
即使时间未存储在日期时间类型中,您也应该可以进行比较,here是一个解释从字符串到时间的转换的链接。
如果这不起作用,请将时间转换为秒(int)并计算差异。
答案 1 :(得分:0)
试试这个。您可以将字符串保存并检索时间:
String to long: String.valueOf()
long to String: Long.valueOf()
然后,您使用此程序检查时间:
//Time checker
private boolean timeCheck(long startTimeInput, long endTimeInput) {
long currentTime = System.currentTimeMillis();
if ((currentTime > startTimeInput) && (currentTime < endTimeInput)) {
return true;
} else {
return false;
}
}
在你的主程序中检查它是这样的:
//You kept the times as String
if (timeCheck(Long.valueOf(start), Long.valueOf(end))) {
//it is in the interval
} else {
//not in the interval
}
我希望它有所帮助。