我有String initialTime= "10:30:00"
我正在把它转换成时间: -
DateFormat sdf = new SimpleDateFormat("hh:mm:ss");
Date date = sdf.parse(initialTime);
Time time = new Time(date.getTime());
int initHour = time.getHours()
int initMind = time.getMinutes();
此外,我有两个值;
int hour, mins;
小时值可以是0-10; 分钟值可以是0,15,30,45。
用户通过选择hour
和mins
来选择时间。用户选择值后,应立即将其添加到initialTime
并显示在finalTIme
所以如果: -
hour=0 and mins=15 then finalTIme=10:45:00
hour=0 and mins=35 then finalTIme=11:00:00
hour=0 and mins=45 then finalTIme=11:15:00
我尝试过这样的事情: -
if(hour==0 && mins==0)
{
finalTime = initialTime;
}
else if(hour==0 && mins>0 && mins <30)
{
mins = initMins + mins
}
else if(hour==0 && mins>0 && mins >=30)
{
hours = hours+1;
mins = mins-60;
}
但我没有得到所需的输出。我可以用一种不那么复杂的方式来做这件事吗?
答案 0 :(得分:4)
您可以使用java.util.Calendar类:
DateFormat sdf = new SimpleDateFormat("hh:mm:ss");
Date date = sdf.parse(initialTime);
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.HOUR_OF_DAY, hours);
cal.add(Calendar.MINUTE, minutes);
date = cal.getTime();
您可能还会考虑使用JDK 8中的新Date API。