如何使用日历秒到时间并将值传递回函数

How to seconds to Time using calendar and passing the values back to the function

我的方案是以特定模式创建时间

例如:开始时间和持续时间将由用户输入。

让 startTime 为 9:00:00,持续时间为 60 秒。现在我的输出应该是将 60 秒加到我的开始时间并将其设置为结束时间。然后将 10 分钟添加到 startTime 并再次添加 60 秒并将其设置为结束时间。这将在一个循环中迭代。

我已经完成了部分工作并且得到了部分输出, 得到的输出就像

startTime : 9:00:00
EndTime   : 9:01:00
startTime : 9:00:00
EndTime   : 9:01:00
startTime : 9:00:00
EndTime   : 9:01:00

但预期的输出是这样的

startTime : 9:00:00
EndTime   : 9:01:00
startTime : 9:11:00 // HERE ADDING 10mins to startTime and assigning it as startTime again
EndTime   : 9:12:00 // Adding 60sec duration to the updated startTime
startTime : 9:20:00
EndTime   : 9:21:00

我的代码:

public static void main(String[] args) throws ParseException {
        String myTime = "090000";
        for(int i=0;i<3;i++){
            SimpleDateFormat df = new SimpleDateFormat("HHmmss");
             Date d = df.parse(myTime); 
             Calendar cal = Calendar.getInstance();
             cal.setTime(d);
             cal.add(Calendar.SECOND, 60);
             String newTime = df.format(cal.getTime());
             System.out.println("Start time : "+myTime);
             System.out.println("end Time   :"+newTime);
        }

您忘记在循环结束时添加 10 分钟。 (另外,您不需要在每个循环中都创建 SimpleDateFormat)。

public static void main(String[] args) throws ParseException {
    SimpleDateFormat df = new SimpleDateFormat("HHmmss");
    String myTime = "090000";
    for(int i=0;i<3;i++){
        Date d = df.parse(myTime); 
        Calendar cal = Calendar.getInstance();
        cal.setTime(d);
        cal.add(Calendar.SECOND, 60);
        String newTime = df.format(cal.getTime());
        System.out.println("Start time : "+myTime);
        System.out.println("end Time   :"+newTime);

        // now add 10 minutes to the start time
        cal.setTime(d);
        cal.add(Calendar.MINUTE, 10);
        myTime = df.format(cal.getTime());
    }
}