fix leap year
This commit is contained in:
@@ -111,11 +111,17 @@ void Bookkeeper::UpdateLastSeenTime()
|
|||||||
|
|
||||||
CLAMP( tOld.tm_year, tNew.tm_year-1, tNew.tm_year );
|
CLAMP( tOld.tm_year, tNew.tm_year-1, tNew.tm_year );
|
||||||
|
|
||||||
|
int cnt = 0;
|
||||||
while(
|
while(
|
||||||
tOld.tm_year != tNew.tm_year ||
|
tOld.tm_year != tNew.tm_year ||
|
||||||
tOld.tm_yday != tNew.tm_yday ||
|
tOld.tm_yday != tNew.tm_yday ||
|
||||||
tOld.tm_hour != tNew.tm_hour )
|
tOld.tm_hour != tNew.tm_hour )
|
||||||
{
|
{
|
||||||
|
/* Paranoia: break out in case our loop doesn't end for some reason. */
|
||||||
|
++cnt;
|
||||||
|
if( cnt > 1000 )
|
||||||
|
break;
|
||||||
|
|
||||||
tOld.tm_hour++;
|
tOld.tm_hour++;
|
||||||
if( tOld.tm_hour == HOURS_IN_DAY )
|
if( tOld.tm_hour == HOURS_IN_DAY )
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
const int NUM_LAST_DAYS = 7;
|
const int NUM_LAST_DAYS = 7;
|
||||||
const int NUM_LAST_WEEKS = 52;
|
const int NUM_LAST_WEEKS = 52;
|
||||||
const int DAYS_IN_YEAR = 365;
|
const int DAYS_IN_YEAR = 366; // maximum (leap years)
|
||||||
const int HOURS_IN_DAY = 24;
|
const int HOURS_IN_DAY = 24;
|
||||||
const int DAYS_IN_WEEK = 7;
|
const int DAYS_IN_WEEK = 7;
|
||||||
const int MONTHS_IN_YEAR = 12;
|
const int MONTHS_IN_YEAR = 12;
|
||||||
|
|||||||
Reference in New Issue
Block a user