Java 如何仅按长日期中的日期从我的数据库中进行选择?
我的片段中有这个方法Java 如何仅按长日期中的日期从我的数据库中进行选择?,java,database,datetime,android-sqlite,long-integer,Java,Database,Datetime,Android Sqlite,Long Integer,我的片段中有这个方法 @Override public void findTasksByDate(long date) { adapter.removeAllItems(); List<ModelTask> tasks = new ArrayList<>(); tasks.addAll(activity.dbHelper.query().getTasks(DBHelper.SELECTION_LIKE_DATE + " AND "
@Override
public void findTasksByDate(long date) {
adapter.removeAllItems();
List<ModelTask> tasks = new ArrayList<>();
tasks.addAll(activity.dbHelper.query().getTasks(DBHelper.SELECTION_LIKE_DATE + " AND "
+ DBHelper.SELECTION_STATUS + " OR " + DBHelper.SELECTION_STATUS,
new String[]{"%"+ date + "%", Integer.toString(ModelTask.STATUS_CURRENT),
Integer.toString(ModelTask.STATUS_OVERDUE)}, DBHelper.TASK_DATE_COLUMN));
for (int i = 0; i < tasks.size(); i++) {
Log.d("data", "Title = " + tasks.get(i).getTitle());
addTask(tasks.get(i), false);
}
}
@覆盖
公共作废FindTaskByDate(长日期){
适配器。removeAllItems();
列表任务=新建ArrayList();
tasks.addAll(activity.dbHelper.query().getTasks(dbHelper.SELECTION)类似于日期+“和”
+DBHelper.SELECTION_状态+”或“+DBHelper.SELECTION_状态,
新字符串[]{“%”+日期+“%”,整数.toString(modelstask.STATUS_CURRENT),
toString(modelstask.STATUS_过期)},DBHelper.TASK_DATE_COLUMN);
对于(int i=0;i
我需要从长日期中选择只有日期的所有任务。我需要格式化我的日期吗?有什么简单的方法可以做到这一点吗
我需要设置日期格式吗?
否,您可以从列中提取日期,并使用
date(substr(the_column,1,10),'unixepoch')
例如,考虑下面的例子(选择/选择为可用的真实数据):-< /P> 第一个查询的结果是:-
shoplistadded列是以毫秒为单位的日期时间(通过System.currentTimeMillis()
获取)
converted_date列是删除毫秒并使用SQlite提取日期(yyyy-MM-DD)后添加的shoplistadded列中的日期。也就是说,它被传递前10位数字(一种公认的格式),因此只返回日期
第二个查询使用此选项仅选择2019年4月的行,即2019-05-02行不返回,其他3行不返回
我需要设置日期格式吗?
否,您可以从列中提取日期,并使用
date(substr(the_column,1,10),'unixepoch')
例如,考虑下面的例子(选择/选择为可用的真实数据):-< /P> 第一个查询的结果是:-
shoplistadded列是以毫秒为单位的日期时间(通过System.currentTimeMillis()
获取)
converted_date列是删除毫秒并使用SQlite提取日期(yyyy-MM-DD)后添加的shoplistadded列中的日期。也就是说,它被传递前10位数字(一种公认的格式),因此只返回日期
第二个查询使用此选项仅选择2019年4月的行,即2019-05-02行不返回,其他3行不返回