如何从android中的日历事件中获取开始时间和结束时间?
我想在android中获取日历事件的开始时间和结束时间?我如何才能获得它 这是我的密码如何从android中的日历事件中获取开始时间和结束时间?,android,events,android-calendar,Android,Events,Android Calendar,我想在android中获取日历事件的开始时间和结束时间?我如何才能获得它 这是我的密码 public static void readCalendarEvent(Context context) throws ParseException { ContentResolver contentResolver = context.getContentResolver(); Calendar calendar = Calendar.getInstance();
public static void readCalendarEvent(Context context) throws ParseException {
ContentResolver contentResolver = context.getContentResolver();
Calendar calendar = Calendar.getInstance();
String dtstart = "dtstart";
String dtend = "dtend";
SimpleDateFormat displayFormatter = new SimpleDateFormat(" MMMM dd, yyyy (EEEE)");
stime=displayFormatter.format(calendar.getTime());
SimpleDateFormat startFormatter = new SimpleDateFormat("MM/dd/yy");
String dateString = startFormatter.format(calendar.getTime());
long after = calendar.getTimeInMillis();
SimpleDateFormat formatterr = new SimpleDateFormat("hh:mm:ss MM/dd/yy");
Calendar endOfDay = Calendar.getInstance();
Date dateCCC = formatterr.parse("47:59:59 " + dateString);
endOfDay.setTime(dateCCC);
cursor = contentResolver.query(Uri.parse("content://com.android.calendar/events"), (new String[] { "calendar_id", "title", "description", "dtstart", "dtend", "eventLocation" }), "(" + dtstart + ">" + after + " and " + dtend + "<" + endOfDay.getTimeInMillis() + ")", null, "dtstart ASC");
gCalendar = new ArrayList<GoogleCalendar>();
try {
System.out.println("Count=" + cursor.getCount());
if (cursor.getCount() > 0) {
System.out.println("the control is just inside of the cursor.count loop");
while (cursor.moveToNext()) {
GoogleCalendar googleCalendar = new GoogleCalendar();
gCalendar.add(googleCalendar);
int calendar_id = cursor.getInt(0);
googleCalendar.setCalendar_id(calendar_id);
String title = cursor.getString(1);
googleCalendar.setTitle(title);
String description = cursor.getString(2);
googleCalendar.setDescription(description);
String dtstart1 = cursor.getString(3);
googleCalendar.setDtstart(dtstart1);
System.out.println("Starting date is :" +dtstart1);
String dtend1 = cursor.getString(4);
googleCalendar.setDtend(dtend1);
String eventlocation = cursor.getString(5);
googleCalendar.setEventlocation(eventlocation);
}
}
} catch (AssertionError ex) {
ex.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}
publicstaticvoidreadcalendarEvent(上下文上下文)引发异常{
ContentResolver ContentResolver=context.getContentResolver();
日历=Calendar.getInstance();
字符串dtstart=“dtstart”;
字符串dtend=“dtend”;
SimpleDataFormat displayFormatter=新的SimpleDataFormat(“MMMM dd,yyyy(EEEE)”;
stime=displayFormatter.format(calendar.getTime());
SimpleDataFormat StartFormat=新SimpleDataFormat(“MM/dd/yy”);
String dateString=startFormatter.format(calendar.getTime());
long after=calendar.getTimeInMillis();
SimpleDataFormat Formatter=新的SimpleDataFormat(“hh:mm:ss mm/dd/yy”);
Calendar endOfDay=Calendar.getInstance();
Date-dateCCC=formatter.parse(“47:59:59”+日期字符串);
endOfDay.setTime(日期CCC);
cursor=contentResolver.query(Uri.parse(“content://com.android.calendar/events(“+dtstart+”>“+after+”和“+dtend+”Android的日历事件以毫秒为单位给出从时间纪元开始的开始或结束日期(1970年1月1日).所以我从某人那里复制了一段代码,将毫秒转换为日期和时间。函数是
public static String getDate(long milliSeconds) {
SimpleDateFormat formatter = new SimpleDateFormat(
"dd/MM/yyyy hh:mm:ss a");
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(milliSeconds);
return formatter.format(calendar.getTime());
}
然后我这样调用它来获取我要实现的日期时间值
Log.d("start date", getDate(Long.parseLong(cursor.getString(4))));
希望这能有所帮助。任何答案都能帮上大忙吗?我得到的是这样的结束日期(结束日期:-1881036608)开始和结束时间是什么意思?你有它们的字符串表示法。如果你想转换时间,这是一个方便的网站