【发布时间】:2011-06-19 20:22:39
【问题描述】:
我从 XML 中读取了日期,它返回了日期类似于 DD-MM-YYYY 的字符串。但是当我想将它添加到我的核心数据数据库中时,SQLite 对我进行了错误排序,因此我必须将其转换为日期格式或字符串,例如:YYYY-MM-DD。但是 SQLite 不支持 Date() 或 To_Date() 函数。你能帮助我吗?
【问题讨论】:
标签: objective-c sqlite nsdate date-format
我从 XML 中读取了日期,它返回了日期类似于 DD-MM-YYYY 的字符串。但是当我想将它添加到我的核心数据数据库中时,SQLite 对我进行了错误排序,因此我必须将其转换为日期格式或字符串,例如:YYYY-MM-DD。但是 SQLite 不支持 Date() 或 To_Date() 函数。你能帮助我吗?
【问题讨论】:
标签: objective-c sqlite nsdate date-format
您可以使用 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];
希望这会有所帮助!
尼克。
【讨论】:
string 变量中吗?
使用尼克的教程并回答解决方案是:
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];
【讨论】: