我已经从XML读取了日期,它给了我一个日期就像DD-MM-YYYY
的字符串。但是当我想将它添加到我的核心数据数据库时,SQLite将我错误排序,因此我必须将其转换为日期格式或字符串:YYYY-MM-DD
。但SQLite不支持Date()
或To_Date()
函数。你能帮助我吗?
答案 0 :(得分:9)
您可以使用NSDateFormatter格式化目标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 :(得分:1)
使用Nick的教程并回答解决方案:
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];