From a54d37b6a7da827f145c7cd3fef69f4c9a6742a0 Mon Sep 17 00:00:00 2001 From: richard Date: Tue, 4 Jan 2000 22:49:41 +0000 Subject: [PATCH] Fixed rounding error. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@5660 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 4 ++++ Source/NSCalendarDate.m | 8 ++------ Testing/nsdate.m | 1 + 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4f03e3d3d..b46e8831a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Tue Jan 4 22:40:00 1999 Richard Frith-Macdonald + + * Source/NSCalendarDate.m: ([-yearOfCommonEra]) fix rounding error. + Tue Dec 21 13:27:00 1999 Richard Frith-Macdonald Fixes suggested by karl@nfox.com diff --git a/Source/NSCalendarDate.m b/Source/NSCalendarDate.m index 54de1b554..c85d775e4 100644 --- a/Source/NSCalendarDate.m +++ b/Source/NSCalendarDate.m @@ -852,13 +852,9 @@ - (int) yearOfCommonEra { int m, d, y; - int a; - // Get reference date in terms of days - a = (_seconds_since_ref+[_time_zone timeZoneSecondsFromGMT]) / 86400; - // Offset by Gregorian reference - a += GREGORIAN_REFERENCE; - [self gregorianDateFromAbsolute: a day: &d month: &m year: &y]; + [self gregorianDateFromAbsolute: [self dayOfCommonEra] + day: &d month: &m year: &y]; return y; } diff --git a/Testing/nsdate.m b/Testing/nsdate.m index ef2afd8d6..74b74e36d 100644 --- a/Testing/nsdate.m +++ b/Testing/nsdate.m @@ -143,6 +143,7 @@ main() c = [NSCalendarDate dateWithString: @"1999-12-31 23:59:59" calendarFormat: @"%Y-%m-%d %H:%M:%S"]; printf("Start at %s\n", [[c description] cString]); + printf("YYYY-MM-DD %d-%d-%d\n", [c yearOfCommonEra], [c monthOfYear], [c dayOfMonth]); c = [c addYear:0 month:0 day:0 hour:0 minute:0 second:1]; printf("Add one second - %s\n", [[c description] cString]); c = [c addYear:0 month:0 day:0 hour:0 minute:0 second:1];