Преобразование NSString в NSDate - PullRequest
1 голос
/ 12 октября 2010

У меня есть строка даты: понедельник, 11 октября 2010 г. Как я могу создать из него объект NSDate, а затем получить из него различные компоненты, такие как день, месяц, дата, год. Обратите внимание, что формат / локаль этой строки может измениться во время выполнения.

Ответы [ 2 ]

4 голосов
/ 12 октября 2010

Используйте NSDateFormatter для создания NSDate, затем вы можете получить доступ к его компонентам через свойства NSDate (вам нужно настроить строку формата ниже):

NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss ZZZ"];

if(NSDate *myDate = [df dateFromString:string]) {
    //Do something with myDate
}
1 голос
/ 12 октября 2010

другая возможность:

NSCalendar *calendar = [NSCalendar currentCalendar];
NSInteger units = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit;
NSDateComponents *components = [calendar components:units fromDate:date];
NSInteger year = [components year];
...
...