diff --git a/Headers/Foundation/NSDateFormatter.h b/Headers/Foundation/NSDateFormatter.h index c0cffe083..11f971a90 100644 --- a/Headers/Foundation/NSDateFormatter.h +++ b/Headers/Foundation/NSDateFormatter.h @@ -130,6 +130,7 @@ typedef NSUInteger NSDateFormatterBehavior; NSUInteger _behavior; NSLocale *_locale; NSTimeZone *_tz; + NSCalendar *_calendar; NSDateFormatterStyle _timeStyle; NSDateFormatterStyle _dateStyle; void *_formatter; diff --git a/Source/NSDateFormatter.m b/Source/NSDateFormatter.m index 03c915ec7..8e192534a 100644 --- a/Source/NSDateFormatter.m +++ b/Source/NSDateFormatter.m @@ -87,6 +87,7 @@ static NSDateFormatterBehavior _defaultBehavior = 0; _behavior = _defaultBehavior; _locale = RETAIN([NSLocale currentLocale]); _tz = RETAIN([NSTimeZone defaultTimeZone]); + _calendar = RETAIN([NSCalendar currentCalendar]); [self _resetUDateFormat]; @@ -201,6 +202,7 @@ static NSDateFormatterBehavior _defaultBehavior = 0; { _dateFormat = [format copy]; _allowsNaturalLanguage = flag; + _behavior = NSDateFormatterBehavior10_0; return self; } @@ -402,12 +404,17 @@ static NSDateFormatterBehavior _defaultBehavior = 0; - (NSCalendar *) calendar { - return nil; + return _calendar; } - (void) setCalendar: (NSCalendar *) calendar { - return; + if (calendar == _calendar) + return; + RELEASE(_calendar); + + _calendar = RETAIN(calendar); + [self _resetUDateFormat]; } - (NSDate *) defaultDate diff --git a/Source/NSNumberFormatter.m b/Source/NSNumberFormatter.m index 10c84131a..d607dd55b 100644 --- a/Source/NSNumberFormatter.m +++ b/Source/NSNumberFormatter.m @@ -782,7 +782,7 @@ static NSUInteger _defaultBehavior = 0; } #endif } - else if (_behavior == NSNumberFormatterBehavior10_0 + else if (_behavior == NSNumberFormatterBehavior10_0) { NSMutableDictionary *locale; NSCharacterSet *formattingCharacters;