add: Highlight certificates outside validity period in Cert Overview
[gigi.git] / src / org / cacert / gigi / util / CalendarUtil.java
1 package org.cacert.gigi.util;
2
3 import java.util.Calendar;
4 import java.util.Date;
5 import java.util.GregorianCalendar;
6 import java.util.TimeZone;
7
8 public class CalendarUtil {
9
10     public static boolean isDateValid(int year, int month, int day) {
11
12         Calendar c = GregorianCalendar.getInstance();
13         c.set(year, month - 1, day);
14         return c.get(Calendar.YEAR) == year && c.get(Calendar.MONTH) == month - 1 && c.get(Calendar.DATE) == day;
15
16     }
17
18     public static boolean isOfAge(DayDate dob, int age) {
19         Calendar c = Calendar.getInstance();
20         c.setTimeInMillis(dob.getTime());
21         int year = c.get(Calendar.YEAR);
22         int month = c.get(Calendar.MONTH);
23         int day = c.get(Calendar.DAY_OF_MONTH);
24         c.set(year, month, day);
25         c.add(Calendar.YEAR, age);
26
27         return System.currentTimeMillis() >= c.getTime().getTime();
28     }
29
30     public static DayDate getDateFromComponents(int year, int month, int day) {
31         Calendar cal = Calendar.getInstance();
32         cal.setTimeZone(TimeZone.getTimeZone("UTC"));
33         cal.setTimeInMillis(0);
34         cal.set(year, month - 1, day, 0, 0, 0);
35         Date dob = cal.getTime();
36         return new DayDate(dob.getTime());
37     }
38
39     public static Date timeDifferenceDays(int days) {
40         Calendar c = Calendar.getInstance();
41         c.setTimeInMillis(System.currentTimeMillis());
42         c.add(Calendar.DAY_OF_MONTH, days);
43         return c.getTime();
44     }
45 }