TODO-LIST
Gestore di attività suddivise per progetto
Date.h
1 
2 #ifndef _DATE
3 #define _DATE
4 
5 class Date {
6 private:
7 
8 int day;
9 int month;
10 int year;
11 
12 int julianDay(Date d)
13 {
14  int a, y, m;
15 
16  a = (14-d.getMonth())/12;
17  y = d.getYear()+4800-a;
18  m = d.getMonth()+12*a-3;
19  return d.getDay() + (153*m+2)/5+365*y + y/4 - y/100 + y/400 - 32045;
20 }
21 
22 public:
23 
24 Date(void) {day = 1; month = 1; year = 2000;}
25 int getDay(void) {return day;}
26 int getMonth(void) {return month;}
27 int getYear(void) {return year;}
28 
29 void setDate(int d, int m, int y)
30 {
31  if (y<1 || m<1 || m>12 || d<1) return;
32  if ( m==1 || m==3 || m==5 || m==7 || m==8 || m==10 || m==12)
33  if (d>31) return;
34  if (m==4 || m==6 || m==9 || m==11)
35  if (d>30) return;
36  if (m==2 && y%4==0) // bisestile
37  if (d>29) return;
38  if (m==2 && y%4!=0) // non bisestile
39  if (d>28) return;
40  year = y;
41  month = m;
42  day = d;
43 }
44 
45 int diff(Date d) {
46  int my_jd, jd;
47 
48  my_jd = julianDay(*this);
49  jd = julianDay(d);
50  return (jd - my_jd);
51 }
52 };
53 
54 #endif
Definition: Date.h:5