时间值超过60分钟的Android



获得错误的结束时间值(超过60分钟(

我正在处理日历视图。当我单击空视图时,我需要获得开始时间和结束时间,我可以正确地开始开始时间,但是结束时间超过60分钟

例如:下午4:69,下午4:79

我需要为下午5:09,下午5:19

请检查我的代码,当我添加60分钟时,它将超过60分钟

mWeekView.setEmptyViewClickListener(new
 WeekView.EmptyViewClickListener() {
     @Override
     public void onEmptyViewClicked(Calendar time) {
         String startTime = String.format("%02d:%02d",time.get(Calendar.HOUR_OF_DAY),time.get(Calendar.MINUTE));
         String endtime   = String.format("%02d:%02d",time.get(Calendar.HOUR_OF_DAY),60+time.get(Calendar.MINUTE));/*time.getTimeInMillis()+60*60*1000*/
         String startdate = String.format("%d/%s/%s",time.get(Calendar.DAY_OF_MONTH),time.get(Calendar.MONTH)+1,time.get(Calendar.YEAR));

         Intent intent = new Intent(getActivity(),AddAppointment.class);
         intent.putExtra("daystartdate", startdate);
         intent.putExtra("daystartTime",startTime);
         intent.putExtra("dayendtime",endtime);
         startActivity(intent);
     }
 });

我假设您要在当前的Calendar对象中添加一个小时,因此您需要创建一个新的日历对象并添加想要的时间,或者您可以使用已经传递了time对象。例如,

mWeekView.setEmptyViewClickListener(new
 WeekView.EmptyViewClickListener() {
     @Override
     public void onEmptyViewClicked(Calendar time) {
         String startTime = String.format("%02d:%02d",time.get(Calendar.HOUR_OF_DAY),time.get(Calendar.MINUTE));
         time.add(Calendar.MONTH, 1);
         String startdate = String.format("%d/%s/%s",time.get(Calendar.DAY_OF_MONTH),time.get(Calendar.MONTH)+1,time.get(Calendar.YEAR));
         time.add(Calendar.MONTH, -1);
         time.add(Calendar.MINUTE, 60);
         String endtime   = String.format("%02d:%02d",time.get(Calendar.HOUR_OF_DAY),time.get(Calendar.MINUTE));/*time.getTimeInMillis()+60*60*1000*/

         Intent intent = new Intent(getActivity(),AddAppointment.class);
         intent.putExtra("daystartdate", startdate);
         intent.putExtra("daystartTime",startTime);
         intent.putExtra("dayendtime",endtime);
         startActivity(intent);
     }
 });

希望这会有所帮助!

对于解决方案,您使用日历util方法

在开始时间,您可以使用calendar.settime(日期(方法。在结束时间内,您可以使用相同的calender实例,并使用method calender.add(int time,calendar.minutes(;

向其添加60分钟。

它可能会帮助您。

最新更新