将 sqlite 数据库日期字符串 "yyyy-MM-dd" 与今天 android 中的字符串进行比较?
Compaire sqlite database date string "yyyy-MM-dd" with todays string in android?
我在数据库中将 from_date
和 to_date
列存储为 sdf
(yyyy-MM-DD)。我想检查今天的日期是否在这两个日期之间。
我的查询是:
String where = Alarm.COL_TIME+" = "+"'"+time+"' AND Date(from_date) <= Date ('"+ today +"') AND Date(to_date) >= Date ('"+ today +"')";
但它什么也没显示。
请忽略时间
如何做到这一点??
以下代码将以 yyyy-MM-dd 格式将今天的日期存储在您的 today
变量中:
// Imports
import java.text.SimpleDateFormat;
import java.util.Date;
// Above your "String where = Alarm..." assignment
String today = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
假设您有一个字符串作为日期,就像您说的那样 "yyyy-MM-dd"。让我们说它是“2014-12-03”。然后,将其解析为长值:
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd",Locale.getDefault());
String todayString = "2014-12-03";
String fromString = "2014-12-01";
String toString = "2014-12-05";
Date todayDate = format.parse(todayString);
Long today = todayDate.getTime();
Date fromDate = format.parse(fromString);
Long from = fromDate.getTime();
Date toDate = format.parse(toString);
Long to = toDate.getTime();
有了这个你就拥有了所有三个长值并且可以比较:
if(today>fromDate&&today<toDate){
//then today is between these days
}
我在数据库中将 from_date
和 to_date
列存储为 sdf
(yyyy-MM-DD)。我想检查今天的日期是否在这两个日期之间。
我的查询是:
String where = Alarm.COL_TIME+" = "+"'"+time+"' AND Date(from_date) <= Date ('"+ today +"') AND Date(to_date) >= Date ('"+ today +"')";
但它什么也没显示。 请忽略时间
如何做到这一点??
以下代码将以 yyyy-MM-dd 格式将今天的日期存储在您的 today
变量中:
// Imports
import java.text.SimpleDateFormat;
import java.util.Date;
// Above your "String where = Alarm..." assignment
String today = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
假设您有一个字符串作为日期,就像您说的那样 "yyyy-MM-dd"。让我们说它是“2014-12-03”。然后,将其解析为长值:
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd",Locale.getDefault());
String todayString = "2014-12-03";
String fromString = "2014-12-01";
String toString = "2014-12-05";
Date todayDate = format.parse(todayString);
Long today = todayDate.getTime();
Date fromDate = format.parse(fromString);
Long from = fromDate.getTime();
Date toDate = format.parse(toString);
Long to = toDate.getTime();
有了这个你就拥有了所有三个长值并且可以比较:
if(today>fromDate&&today<toDate){
//then today is between these days
}