42{
43 int year = date.tm_year + 1900;
44 int month = date.tm_mon + 1;
45 int day = date.tm_mday;
46
47 while (month > 12)
48 {
49 month -= 12;
50 ++year;
51 }
52 while (month < 1)
53 {
54 month += 12;
55 --year;
56 }
58 {
60 ++month;
61 if (month > 12)
62 {
63 month = 1;
64 ++year;
65 }
66 }
67 while (day < 1)
68 {
69 --month;
70 if (month < 1)
71 {
72 month = 12;
73 --year;
74 }
76 }
77
78 date.tm_year = year - 1900;
79 date.tm_mon = month - 1;
80 date.tm_mday = day;
81
82
83 int zy = year;
84 int zm = month;
85 if (zm < 3)
86 {
87 zm += 12;
88 --zy;
89 }
90 int const K = zy % 100;
91 int const J = zy / 100;
92 int const h = (day + (13 * (zm + 1)) / 5 + K + K / 4 + J / 4 + 5 * J) % 7;
93 date.tm_wday = (h + 6) % 7;
94}
static int DaysInMonth(int year, int month)
Definition HolidayDateCalculator.cpp:35