Fixed rounding error.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@5660 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-MacDonald 2000-01-04 22:49:41 +00:00
parent 578d371939
commit 3cc1c7c14c
3 changed files with 7 additions and 6 deletions

View file

@ -1,3 +1,7 @@
Tue Jan 4 22:40:00 1999 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* Source/NSCalendarDate.m: ([-yearOfCommonEra]) fix rounding error.
Tue Dec 21 13:27:00 1999 Richard Frith-Macdonald <richard@brainstorm.co.uk>
Fixes suggested by karl@nfox.com

View file

@ -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;
}

View file

@ -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];