# HG changeset patch # User Igor Sysoev # Date 1068657912 0 # Node ID 811bdd2af794dd91ed4a6c3ab232ad8647a0b6bf # Parent 2d143372a1ee6f00833e6421478eeb9ee3969682 nginx-0.0.1-2003-11-12-20:25:12 import diff --git a/src/core/ngx_times.c b/src/core/ngx_times.c --- a/src/core/ngx_times.c +++ b/src/core/ngx_times.c @@ -35,6 +35,24 @@ void ngx_time_update() ngx_cached_http_time.data = cached_http_time; ngx_cached_http_log_time.data = cached_http_log_time; +#if 0 + + days = sec / 86400; + days = days - 31 - 28 + 719527; + + year = days * 400 / (365 * 400 + 100 - 4 + 1); + yday = days - (365 * year + year / 4 - year / 100 + year / 400); + + month = (yday + 30) * 12 / 367; + mday = yday - (month * 367 / 12 - 31); + + if (++month > 11) { + month -= 12; + year++; + } + +#endif + tp = gmtime(&ngx_cached_time); ngx_cached_http_time.len = strftime(ngx_cached_http_time.data, diff --git a/src/http/ngx_http_parse_time.c b/src/http/ngx_http_parse_time.c --- a/src/http/ngx_http_parse_time.c +++ b/src/http/ngx_http_parse_time.c @@ -232,19 +232,24 @@ time_t ngx_http_parse_time(char *value, return NGX_ERROR; } - /* shift new year to March 1, needed for Gauss's formula */ + /* + * shift new year to March 1 and start months from 1 (not 0), + * it's needed for Gauss's formula + */ if (--month <= 0) { month += 12; year -= 1; } - /* Gauss's formula for Grigorian days from 1 March 1 BC */ + /* Gauss's formula for Grigorian days from 1 March 1 BC */ return (365 * year + year / 4 - year / 100 + year / 400 - + 367 * month / 12 + day - 31 + + 367 * month / 12 - 31 + + day + /* - * 719527 days are between March 1, 1 BC and March 1, 1970, + * 719527 days were between March 1, 1 BC and March 1, 1970, * 31 and 28 days in January and February 1970 */ diff --git a/src/os/win32/ngx_time.c b/src/os/win32/ngx_time.c --- a/src/os/win32/ngx_time.c +++ b/src/os/win32/ngx_time.c @@ -15,7 +15,7 @@ void ngx_gettimeofday(struct timeval *tp * of 100-nanosecond intervals that have elapsed since * 12:00 A.M. January 1, 1601 (UTC). * - * Between January 1, 1970 (Epoch) and January 1, 1601 there are + * Between January 1, 1970 (Epoch) and January 1, 1601 there were * 134744 days, * 11644473600 seconds or * 11644473600,000,000,0 100-nanosecond intervals.