Вы можете добавить несколько служебных методов для NSDate
.
Вот пример заголовка:
@interface NSDate (Utilities)
+ (NSDate *) customDateForString:(NSString *)dateString;
+ (NSDateFormatter *) customDateFormatter;
@end
Реализация:
@implementation NSDate (Utilities)
static NSDateFormatter *customDateFormatter = nil;
+ (NSDateFormatter *) customDateFormatter {
// Example: 7/30
if (!customDateFormatter) {
customDateFormatter = [[NSDateFormatter alloc] init];
[customDateFormatter setFormatterBehavior:NSDateFormatterBehavior10_4];
[customDateFormatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease]];
// cf. http://unicode.org/reports/tr35/tr35-6.html#Date_Format_Patterns
[customDateFormatter setDateFormat:@"M/d"];
}
return customDateFormatter;
}
+ (NSDate *) customDateForString:(NSString *)dateString {
return [[self customDateFormatter] dateFromString:dateString];
}
@end
Всякий раз, когда вам нужно проанализировать строку даты, вы бы назвали ее так:
NSLog(@"Parsed date: %@", [NSDate customDateForString:@"7/30/2010"]); // Parsed date: 7/30