加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – Android以开始和结束时间开始日历意图

发布时间:2020-12-15 02:36:05 所属栏目:Java 来源:网络整理
导读:我有一个应用程序,其中包含时间和日期列表的议程.当用户单击其中一个事件时,应启动日历意图,因此应使用时间,日期和提醒预设调出日历.但是,当我加载意图时,开始时间只是当前时间,结束时间是提前一小时.有人可以告诉我我做错了什么.这是我正在测试的日期和时间
我有一个应用程序,其中包含时间和日期列表的议程.当用户单击其中一个事件时,应启动日历意图,因此应使用时间,日期和提醒预设调出日历.但是,当我加载意图时,开始时间只是当前时间,结束时间是提前一小时.有人可以告诉我我做错了什么.这是我正在测试的日期和时间设置的硬编码日历的示例

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.所以这会带来一个错误,因为它与日期格式不匹配.只是一个抬头!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读