Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 具有开始和结束时间的Android开始日历意图_Java_Android - Fatal编程技术网

Java 具有开始和结束时间的Android开始日历意图

Java 具有开始和结束时间的Android开始日历意图,java,android,Java,Android,我有一个带有日程的应用程序,上面有时间和日期的列表。当用户单击其中一个事件时,日历意图应启动,因此应显示带有时间、日期和提醒预设的日历。然而,当我加载intent时,开始时间只是当前时间,结束时间是提前一个小时。有人能告诉我我做错了什么吗。下面是我正在测试的硬编码日历的示例,其中设置了日期和时间 Calendar startDate = Calendar.getInstance(); startDate.set(Calendar.MONTH, 8); startDate.set(Calendar

我有一个带有日程的应用程序,上面有时间和日期的列表。当用户单击其中一个事件时,日历意图应启动,因此应显示带有时间、日期和提醒预设的日历。然而,当我加载intent时,开始时间只是当前时间,结束时间是提前一个小时。有人能告诉我我做错了什么吗。下面是我正在测试的硬编码日历的示例,其中设置了日期和时间

Calendar startDate = Calendar.getInstance();
startDate.set(Calendar.MONTH, 8);
startDate.set(Calendar.YEAR, 2012);
startDate.set(Calendar.DAY_OF_MONTH, 5);
startDate.set(Calendar.HOUR_OF_DAY, 9);


// Set the calendar
Calendar endDate = Calendar.getInstance();
endDate.set(Calendar.MONTH, 8);
endDate.set(Calendar.YEAR, 2012);
endDate.set(Calendar.DAY_OF_MONTH, 5);
endDate.set(Calendar.HOUR_OF_DAY, 15);
endDate.set(Calendar.MINUTE, 30);

Intent intent = new Intent(Intent.ACTION_EDIT);
intent.putExtra("calendar_id", 1);
intent.setType("vnd.android.cursor.item/event");
intent.putExtra("beginTime", startDate.getTime());
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT |
                Intent.FLAG_ACTIVITY_SINGLE_TOP);
intent.putExtra("allDay", false);
intent.putExtra("endTime", endDate.getTime());
intent.putExtra("title", "A Test Event from android app");
intent.putExtra("description", "Your consulting date and time");
startActivity(intent);

经过大量的搜索。我找到了这个方法。有点烦人,但它能工作

java.sql.Timestamp tsStart = java.sql.Timestamp.valueOf(year+ "-" + month + "-" + day + " " + hour + ":"+ minute + ":00");
java.sql.Timestamp tsStart = java.sql.Timestamp.valueOf(year+ "-" + month + "-" + day + " " + hour2+ ":"+ minute2+ ":00");

long startTime = tsStart.getTime();
long endTime = tsEnd.getTime();
我只是希望我可以使用日历的方法来设置日期和时间,虽然猜测并没有真正的区别。同时提醒使用此方法的人,确保年、月、日、小时等字段与时间戳格式匹配。在我的应用程序中,当我点击一个议程时,它将采用该事件的日期和时间字符串,然后我像这样将其拆分

String array[] = tvSessionTime.getText().toString().split(" ");
String array2[] = array[0].split(":");
int iHour = Integer.parseInt(array2[0])
int sMinute = Integer.parseInt(array2[0])
String array3[] = tvSessionDate.getText().toString().split(" ");
如果你有一个像07.05这样的时间,你分析小时,小时会回到7,分钟会回到5。格式为yyyy hh mm。这是一个错误,因为它与日期格式不匹配。只是抬头一看