【问题标题】:Android SQLite getting current date plus the last six days?Android SQLite 获取当前日期加上过去六天?
【发布时间】:2012-01-27 19:06:12
【问题描述】:

我有一个按日期提取信息的应用程序,但我想获取它,因此当用户按日期提取信息时,它也会显示过去六天。到目前为止我有。

public double fetchInformation(){
        Date d = new Date();
        SimpleDateFormat date= new SimpleDateFormat("yyyy-MM-dd");
        String day = String.valueOf(date.format(d));
        Cursor c =  ourdb.rawQuery("SELECT*FROM " + WW_TABLE+" WHERE "+
        KEY_DATE+" LIKE  ?", new String[]{day});
        if(c.moveToFirst()){
            return c.getDouble(0);
        }
            return c.getDouble(0);
    }

我怎样才能得到从当前日期算起的最后六天?

【问题讨论】:

    标签: android sql date


    【解决方案1】:

    你可能需要做这样的事情。

     Date d = new Date();
    
         Calendar last6Day= new GregorianCalendar() {{
              add(Calendar.DAY_OF_YEAR, -6);
              set(Calendar.HOUR_OF_DAY, 0);
              set(Calendar.MINUTE, 0);
              set(Calendar.SECOND, 0);
              set(Calendar.MILLISECOND, 0);
            }};
    
        Date dt6 = last6Day.getTime();
    
        ourdb.rawQuery("SELECT*FROM tableName where date between dt6 AND dt");
    

    注意:可能存在语法错误。我没有在 IDE 中输入。

    【讨论】:

    • 引起:android.database.sqlite.SQLiteException:靠近“Jan”:语法错误:,编译时:SELECT SUM(Time) FROM wwlltdTable WHERE Date BETWEEN Sat Jan 21 00:00:00 MST如果我使用betweenBETWEEN,2012 和 2012-01-27 会有什么不同吗?我可以让 i 以yyyy-mm-dd 格式显示 dt6 吗?
    • 不区分大小写,使用simpledateformat获取yyyy-mm-dd格式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-29
    • 1970-01-01
    • 2018-08-18
    • 1970-01-01
    • 2013-01-03
    • 1970-01-01
    相关资源
    最近更新 更多