When you want to have the amount of
time to 12.00 mid night, It doesn't really matter what is the date.
If you want to measure time between two instants it is simple take
time in milliseconds in both occation and then subtract one from
another. But here we want to take difference between two times where
one is a future time on the same date. In my application I wanted to
schedule a script at 12.00 midnight by giving a delay. I can simply
do it using a cron-job, but in my case it didn't work. So I wanted to
know the delay between two times.
Calendar future = Calendar.getInstance(); future.set(Calendar.HOUR_OF_DAY, HOUR_TO_RUN_DB_USAGE_RETRIEVAL); future.set(Calendar.MINUTE, 0); future.set(Calendar.SECOND, 0); Calendar now = Calendar.getInstance(); long requiredDelay = future.getTimeInMillis() - now.getTimeInMillis();
Here I take today this time as future and only change the time part(HH:mm:ss) so the date remains the same. Then get another time calendar instance for now and by subtracting getTimeInMillis() parts of those two you get the desired result.
No comments:
Post a Comment