Как преобразовать строку формата даты ДД-ММ-ГГГГ в строку формата даты ГГГГ-ММ-ДД или в объект NSDate в Objective-C? - PullRequest
3 голосов
/ 02 февраля 2011

Я прочитал дату из XML, которая возвращает мне строку, где дата похожа на DD-MM-YYYY.Но когда я хочу добавить его в свою базу данных основных данных, SQLite неправильно меня сортирует, поэтому мне нужно преобразовать его в формат даты или в строку типа: YYYY-MM-DD.Но SQLite не поддерживает функции Date() или To_Date().Вы можете мне помочь?

Ответы [ 2 ]

9 голосов
/ 02 февраля 2011

Вы можете использовать NSDateFormatter для форматирования даты в Objective C.

Вот краткий пример, который может делать не совсем то, что вам нужно, но, надеюсь, даст несколько указателей:

// Convert my dd-mm-yyyyy string into a date object
NSString *stringDate = @"01-02-2011";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd-MM-yyyy"];

NSDate *date = [dateFormatter dateFromString:stringDate];

// Convert my date object into yyyy-mm-dd string object
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSString *formattedStringDate = [dateFormatter stringFromDate:date];

[dateFormatter release];

Надеюсь, это поможет!

Ник.

1 голос
/ 02 февраля 2011

Используя учебник Ника и ответьте:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
        [dateFormatter setDateFormat:@"dd.MM.yyyy"];

        NSDate *date = [dateFormatter dateFromString:@"01.02.1989"];

        NSDateFormatter *dateFormatter1 = [[NSDateFormatter alloc] init];
        // Convert my date object into yyyy-mm-dd string object
        [dateFormatter1 setDateFormat:@"yyyy-MM-dd"];
        NSString *formattedStringDate = [dateFormatter1 stringFromDate:date];

        [dateFormatter release];
        [dateFormatter1 release];
        NSLog(formattedStringDate);

        objektObrat.dateOfObrat = [[NSString alloc] initWithString:formattedStringDate];
...