【问题标题】:Get first and last day of week in SQLite在 SQLite 中获取一周的第一天和最后一天
【发布时间】:2018-10-02 16:25:18
【问题描述】:

我正在尝试获取列出一年中周数的数据库列的第一天和最后一天。我可以将所有星期都提取到一个列表中,但我想像每月的第一天和最后一天一样列出它。例如:我有一年中的“39”和“40”周。我想在“24 sep - 30 oc​​t”和“1 oct - 7 oct”之类的列表视图中显示它。

我使用此查询和 SimpleCursorAdapter 显示到列表视图中:

    String query = "SELECT _id, semana_ano, SUM(valor_uber) AS valor FROM uber_records GROUP BY semana_ano ORDER BY semana_ano";

    Cursor cursor = db.rawQuery(query, null);
    cursor.moveToFirst();

    Calendar c = Calendar.getInstance();
    c.get(Calendar.MONTH);

    String[] from = {"week_year", "value"};
    int[] to = {R.id.week,R.id.value};
    ListAdapter adapter = new SimpleCursorAdapter(ReportWeek.this,
            R.layout.report_week,
            cursor,from,to);

    listview.setAdapter(adapter);

【问题讨论】:

    标签: android sqlite listview


    【解决方案1】:

    试试这个:

     void getStartEndOFWeek(int enterWeek, int enterYear){
            Calendar calendar = Calendar.getInstance();
            calendar.clear();
            calendar.set(Calendar.WEEK_OF_YEAR, enterWeek);
            calendar.set(Calendar.YEAR, enterYear);
    
            SimpleDateFormat formatter = new SimpleDateFormat("dd MMM");
            Date startDate = calendar.getTime();
            String startDateInStr = formatter.format(startDate);
    
            calendar.add(Calendar.DATE, 6);
            Date enddate = calendar.getTime();
            String endDaString = formatter.format(enddate);
            String getDate = startDateInStr + " - " + endDaString;
        }
    

    【讨论】:

    • 这行不通,因为它必须遍历所有记录
    猜你喜欢
    • 2021-07-21
    • 2016-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-26
    相关资源
    最近更新 更多