Calendar increment by certain milliseconds

Not sure what I am doing wrong in following snippet.

I am trying to do to set the time info on the Calendar object from endTime variable. Only time info (hour, minutes and seconds).  And the data will stay as is. (date, month, year).

Until this point it is fine, I get the desired result. but then I need to increment the calendar for certain milliseconds also. So I do it using last line. but that makes the calendar with some year 1939.

Calendar endTime // equivalent to 8:30am Jan 1, 1900
int StCl = 10;   // equal to 10 minutes
 
Calendar maxTime = Calendar.getInstance();
Calendar maxTimeFullInfo = (Calendar)maxTime.clone();
maxTimeFullInfo.set(Calendar.HOUR, endTime.get(Calendar.HOUR));
maxTimeFullInfo.set(Calendar.MINUTE, endTime.get(Calendar.MINUTE));
maxTimeFullInfo.set(Calendar.SECOND, endTime.get(Calendar.SECOND));
maxTimeFullInfo.set(Calendar.MILLISECOND, 0);
maxTimeFullInfo.set(Calendar.AM_PM, endTime.get(Calendar.AM_PM));
maxTimeFullInfo.setTimeInMillis(maxTimeFullInfo.getTimeInMillis() +stCl*60000);

Open in new window

fix2009Asked:
Who is Participating?
 
mhaq_javaConnect With a Mentor Commented:
Well I doesn't see any problem in your code it works fine
but still you can use add method like this


     Calendar cal=(Calendar)endTime.clone();
     cal.add(Calendar.MILLISECOND,(10*60000));
0
 
objectsCommented:
use the add() method to add time to it

0
 
fix2009Author Commented:
Yeah u r right mhaq! The code worked as is. I am not sure how it was coming up as 1939 that day. I think I didnt make any changes.

BTW -  add method is (int, int)  I cannot add a long in milliseconds.  
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.