将小时和分钟添加到特定时间java

时间:2014-09-13 04:42:22

标签: java time

我有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。

用户通过选择hourmins来选择时间。用户选择值后,应立即将其添加到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;
}

但我没有得到所需的输出。我可以用一种不那么复杂的方式来做这件事吗?

1 个答案:

答案 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。