Android - 时间比较 "hh:mm:ss a" 格式
Android - Time Comparison "hh:mm:ss a" format
"I try to compare two time in "hh:mm:ss a" 格式。但它并没有真正按照我的想法工作。我用谷歌搜索但找不到合适的答案。抱歉,因为我是编程新手。"
我试着这样比较时间:
String strSQL = "SELECT * FROM " + TABLE_SCHEDULE + " WHERE lecturer_id=? AND schedule_day=? AND schedule_endtime > ?";
schedule_endtime > ?
然而,比较忽略了AM/PM,导致结果变成这样:
例如。 12:00:00 PM 大于 02:00:00 PM。
希望大家多多指教或者提供一些解决方案。欣赏一下。
不比较格式化字符串,而是比较以毫秒为单位的值。看看这个到convert the string back to date:
SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy");
String dateInString = "7-Jun-2013";
try {
Date date = formatter.parse(dateInString);
System.out.println(date);
System.out.println(formatter.format(date));
} catch (ParseException e) {
e.printStackTrace();
}
然后一旦你有两个日期,你就可以像这样比较它们:
boolean before = someDate.before(anotherDate);
或
boolean after = someDate.after(anotherDate);
甚至
someDate.getTime() < anotherDate.getTime();
旁注:当我存储日期时,我喜欢只存储毫秒值和时区。这样你就不需要担心这样的事情了。
在 SQLite 数据库中,您将日期存储为字符串,而不是日期,因为在 SQLite 中不存在日期类型 (https://www.sqlite.org/datatype3.html)。
您有两个选择:将列类型更改为 INTEGER 类型并将日期存储为数字(然后您可以比较毫秒)或按原样获取实体,用字符串解析 Date 类型,创建一个SimpleDateFormat 与给定的格式,然后进行比较。
"I try to compare two time in "hh:mm:ss a" 格式。但它并没有真正按照我的想法工作。我用谷歌搜索但找不到合适的答案。抱歉,因为我是编程新手。"
我试着这样比较时间:
String strSQL = "SELECT * FROM " + TABLE_SCHEDULE + " WHERE lecturer_id=? AND schedule_day=? AND schedule_endtime > ?";
schedule_endtime > ?
然而,比较忽略了AM/PM,导致结果变成这样: 例如。 12:00:00 PM 大于 02:00:00 PM。
希望大家多多指教或者提供一些解决方案。欣赏一下。
不比较格式化字符串,而是比较以毫秒为单位的值。看看这个到convert the string back to date:
SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy");
String dateInString = "7-Jun-2013";
try {
Date date = formatter.parse(dateInString);
System.out.println(date);
System.out.println(formatter.format(date));
} catch (ParseException e) {
e.printStackTrace();
}
然后一旦你有两个日期,你就可以像这样比较它们:
boolean before = someDate.before(anotherDate);
或
boolean after = someDate.after(anotherDate);
甚至
someDate.getTime() < anotherDate.getTime();
旁注:当我存储日期时,我喜欢只存储毫秒值和时区。这样你就不需要担心这样的事情了。
在 SQLite 数据库中,您将日期存储为字符串,而不是日期,因为在 SQLite 中不存在日期类型 (https://www.sqlite.org/datatype3.html)。
您有两个选择:将列类型更改为 INTEGER 类型并将日期存储为数字(然后您可以比较毫秒)或按原样获取实体,用字符串解析 Date 类型,创建一个SimpleDateFormat 与给定的格式,然后进行比较。