时间值超过 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 分钟
可能对你有帮助。
获取错误的结束时间值(超过 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 分钟可能对你有帮助。