1 package net.logAnalyzer.utils;
2
3 import java.util.Date;
4
5 /***
6 * A simple toolkit to manipulate dates.
7 *
8 * @author Karim REFEYTON
9 * @version 1.0
10 */
11 public class DateUtils {
12
13 /***
14 * Creation forbidden...
15 */
16 private DateUtils() {
17 super();
18 }
19
20 /***
21 * Return the date diff in a formatted string like "hh:mm:ss". The result is
22 * an absolute value.
23 *
24 * @param date1
25 * @param date2
26 * @return Formatted date diff.
27 */
28 public static String dateDiffInHours(Date date1, Date date2) {
29 if (date1.compareTo(date2) < 0) {
30
31 Date dateSW = date2;
32 date2 = date1;
33 date1 = dateSW;
34 }
35
36 long elapsed = date1.getTime() - date2.getTime();
37
38 long hours = elapsed / 1000 / 3600;
39 long minutes = elapsed / 1000 / 60 - hours * 60;
40 long seconds = elapsed / 1000 - minutes * 60 - hours * 3600;
41
42 return StringUtils.formatRight(hours, 2, '0') + ":"
43 + StringUtils.formatRight(minutes, 2, '0') + ":"
44 + StringUtils.formatRight(seconds, 2, '0');
45 }
46
47 /***
48 * Return the date diff in seconds. The result is an absolute value.
49 *
50 * @param date1
51 * @param date2
52 * @return Long date diff in seconds.
53 */
54 public static long dateDiffInSeconds(Date date1, Date date2) {
55 if (date1.compareTo(date2) < 0) {
56
57 Date dateSW = date2;
58 date2 = date1;
59 date1 = dateSW;
60 }
61 return (long) ((date1.getTime() - date2.getTime()) / 1000);
62 }
63 }