当前位置: 首页 > 知识库问答 >
问题:

如何从本机日历中读取特定日期的事件

法景明
2023-03-14

我试着从我的应用程序(ICS及以上)读取本机日历事件,但有时它工作,有时它显示一些不正确的值。目前我正在使用这段代码,谁能告诉我,我哪里出错了…

Uri.Builder builder = Uri.parse("content://com.android.calendar/instances/when").buildUpon();
    long now = new Date().getTime();
    ContentUris.appendId(builder, now);
    ContentUris.appendId(builder, now + DateUtils.YEAR_IN_MILLIS);





    Cursor eventCursorr = cr.query(builder.build(),
            new String[] { "title", "begin","description"}, "Calendars._id=" + calID,
            null, "startDay ASC, startMinute ASC"); 

    while (eventCursorr.moveToNext()) {
        final String titler = eventCursorr.getString(0).trim();
        final Date beginr = new Date(eventCursorr.getLong(1));
        final String descriptionr = eventCursorr.getString(2).trim();



        SimpleDateFormat sdfrr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        String stimesr = sdfrr.format(beginr);


 System.out.println("titler "+titler +"stimesr "+stimesr +"descriptionr "+descriptionr );






    }





}

共有1个答案

平庆
2023-03-14

我解决了伙计们。

//StartTime 
SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yy");
Date dateCC = formatter.parse("04/27/2013");
Calendar calendarStartDate = Calendar.getInstance();
calendar.setTime(dateCC);

//EndTime
SimpleDateFormat formatterr = new SimpleDateFormat("MM/dd/yy hh:mm:ss");

Calendar endOfDay = Calendar.getInstance();
Date dateCCC = formatterr.parse("04/27/2013 23:59:59");
endOfDay.setTime(dateCCC);

Cursor eventCursorr = cr.query(l_eventUri,
    new String[] {
    "title", "dtstart", "dtend"
}, "(" + dtstart + ">" + after + " and " + dtend + "<" + endOfDay.getTimeInMillis() + ")",
    null, "dtstart ASC");

while (eventCursorr.moveToNext()) {
    final String titler = eventCursorr.getString(0).trim();
    final Date beginr = new Date(eventCursorr.getLong(1));
    final String descriptionr = eventCursorr.getString(2).trim();

}
 类似资料:
  • 问题内容: 我想做的只是删除我在日历中保存的内容,而不是删除日历中已经存在的所有内容。为此,我使用以下代码。但是它将删除日历的所有内容。那么谁能告诉我如何预防呢? 因此,我要删除的仅是我输入的条目。 删除活动 问题答案: 从日历中读取数据后,只需尝试一下即可。 向日历添加单次事件 要将条目添加到特定日历,我们需要配置一个日历条目以使用ContentValues进行插入,如下所示: 每个事件都需要绑

  • 我用的是Flutter,firestore和台历。 这是我的代码,目前工作,但有一个小故障 这是我的转换地图 打印的结果是漂亮的这个。 I/flutter(1655):添加事件:deuxio I/flutter(1655):添加事件:PremierVraiTest I/flutter(1655):添加事件:测试I/flutter(1655):{2020-09-17 13:00:00.000:[事件

  • 问题内容: 我有一种情况,我必须从日历中选择3天回溯日期。如何使用selenium来自动执行此情况。我正在将Java与selenium一起使用进行自动化。 问题答案: 1)假设您可以在输入字段中输入日期,而日历仅是图标。你可以有这样的帮助方法 然后在代码中 2)如果您只能单击日历,那将更加棘手。您仍然需要String,但有一点不同: 但是,上面没有什么收获。如果日期是1.4。那么它将返回“ 29”

  • 我正在扩展一个PHP应用程序,它允许管理员创建事件并为这些事件分配特定用户。但是,在用户被列为可分配之前,我会检查用户的日历,看看他们是否可用。 我已经使用EWS为Exchange构建了一次,并使用FindItem方法在给定的时间段内检索用户电子邮件地址的事件,但我在Google日历API中很难找到等效的事件。 Events和FreeBusy Call似乎都需要特定用户的calendarId,这对

  • 问题内容: 如何找出上一个(上一个)“星期五”或指定日期之后的其他日期的日期? 问题答案: 我不会给出答案(请先尝试一下!),但是,也许这些技巧可以为您提供帮助。 您首先需要确定您所在的星期几。您可能想看一下Java的Calendar类,以了解如何做到这一点。 确定日期后,请考虑模数运算符以及如何使用该运算符向后移动以从当前所在的日期开始寻找所需的前一天。(请记住,一周是7天,一周中的每一天在这7

  • 即,它给出了当前日期的前7个日期,但我想要特定日期的前7个日期。