java - Android 开始日历 Intent 与开始和结束时间

标签 java android

我有一个带有时间和日期列表的议程的应用程序。当用户单击这些事件之一时,日历 Intent 应该启动,因此应该调出带有时间、日期和提醒预设的日历。但是,当我加载 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();

我只是希望我可以使用 Calendar 方法来设置日期和时间,尽管猜测并没有什么不同。还要注意使用此方法的人,确保您的年月日小时等字段与时间戳格式匹配。在我的应用程序中,当我点击一个议程时,它将获取该事件的日期和时间字符串,然后我将它拆分成这样

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。所以这会返回一个错误,因为它与日期格式不匹配。请注意!

关于java - Android 开始日历 Intent 与开始和结束时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11687628/

相关文章:

java - 您是否通过将方法内变量声明为属性来节省垃圾收集器的工作?

JavaCV FFmpegFrameRecorder 不保存/写入磁盘

android - PolylineOptions .color() 不工作

java - 如何解决android中的这个hashmap逻辑错误?

java - 如何扩展 Google android 架构 Dagger 示例?

android - 在 SQLiteDatabase 中插入 ContentValues 时如何跳过主键

servlets - Java 编译错误。 servlet-api.jar

java - 这个违反直觉的 Java "feature"背后的原因是什么?

java - Spring AMQP - channel 交易与发布者确认

android - 如何在布局中排列 View