Work out time difference in Days: Hours : Mins : Sec
/**
* test getNumberOfWindowFirstPage
*/
public void testGetNumberOfWindowFirstPage() { Calendar cal = Calendar.getInstance(); System.out.println("Seconds: 15");
cal.add(Calendar.SECOND, 15);
System.out.println(printDifference(cal.getTime())); System.out.println("min 1, 15sec");
cal.add(Calendar.MINUTE, 1);
System.out.println(printDifference(cal.getTime())); System.out.println("Minutes: 59:15");
cal.add(Calendar.MINUTE, 58);
System.out.println(printDifference(cal.getTime())); cal = Calendar.getInstance();
System.out.println("Minutes: 158");
cal.add(Calendar.MINUTE, 158);
System.out.println(printDifference(cal.getTime())); cal = Calendar.getInstance();
System.out.println("Minutes: 1480");
cal.add(Calendar.MINUTE, 1480);
System.out.println(printDifference(cal.getTime())); cal = Calendar.getInstance();
System.out.println("Minutes: 1830");
cal.add(Calendar.MINUTE, 1830);
System.out.println(printDifference(cal.getTime())); cal = Calendar.getInstance();
System.out.println("Minutes: 4450");
cal.add(Calendar.MINUTE, 4450);
System.out.println(printDifference(cal.getTime())); cal = Calendar.getInstance();
System.out.println("Minutes: -100");
cal.add(Calendar.MINUTE, -100);
System.out.println(printDifference(cal.getTime())); cal = Calendar.getInstance();
System.out.println("2days::22hrs::33mins::15sec");
// cal.add(Calendar.DATE, 2);
// cal.add(Calendar.HOUR, 22);
cal.add(Calendar.MINUTE, 33);
cal.add(Calendar.SECOND, 15);
System.out.println(printDifference(cal.getTime())); } private String printDifference(Date upComing) {
final int milli = 1000;
final int sec = milli;
final int min = 60 * milli;
final int hour = 60 * min;
final int day = 24 * hour; Date now = new Date();
String output = ""; //difference
long difference = upComing.getTime() - now.getTime();
if (difference < 1) {
return "0sec";
} //days
long days = difference / day;
System.out.println("days:" + days);
// if (days > 1) {
// output = output + " " + days + "days";
// } else if (days == 1) {
// output = output + " " + days + "day";
// }
if (days > 1) {
output = output + " " + days + "d";
}
//hours
long hours = (difference % day) / hour;
System.out.println("hours:" + hours);
// if (hours > 1) {
// output = output + " " + hours + "hrs";
// } else if (hours == 1) {
// output = output + " " + hours + "hr";
// }
if (hours > 1) {
output = output + " " + hours + "h";
} //only do minutes and seconds if not days
if (days == 0) {
long mins = (difference % hour) / min; System.out.println("mins:" + mins);
// if (mins > 1) {
// output = output + " " + mins + "mins";
// } else if (mins == 1) {
// output = output + " " + mins + "min";
// }
output = output + " " + mins + "m"; if (hours == 0) {
//only do secconds if no hours
long secs = (difference % min) / sec;
System.out.println("secs:" + secs);// if (secs > 1) {
// output = output + " " + secs + "secs";
// } else if (secs == 1) {
// output = output + " " + secs + "sec";
// }
output = output + " " + secs + "s"; }
}
return output; }