时间值超过 60 分钟 android

Time value getting beyond 60 min android

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

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

例如:4:69pm、4:79pm

我需要 5:09pm, 5:19pm

请检查我的代码,当我添加 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(Date date) 方法。 对于结束时间,您可以使用相同的日历实例并使用方法 calender.add(int time, Calendar.Minutes);

添加 60 分钟

可能对你有帮助。