可能重复:
NSString to NSDate
我正在开发一个应用程序,因为我尝试将NSString值转换为NSDate。我得到的结果如日期:2011-11-23 18:30:00 +0000。但我只想要2011-11-24的结果。
转换日期时,值也会更改。例如在字符串值为2011-11-24,则转换为NSDate值为2011-11-23 18:30:00 +0000。
请告诉我如何解决这个问题。
我的示例代码:
+(BOOL)checkdate:(KLDate*)dbDate
{
NSString *query = [NSString stringWithFormat:@"SELECT * FROM CalendarEvents"];
sqlite3_stmt *stStatement;
if(sqlite3_prepare_v2(database, [query UTF8String], -1, &stStatement, nil)==SQLITE_OK)
{
while (sqlite3_step(stStatement)==SQLITE_ROW) {
NSString *dateString = [NSString stringWithUTF8String: (char*)sqlite3_column_text(stStatement, 1)];
if([dateString isEqual:dbDate])
{
sqlite3_close(database);
return YES;
}
}
}
sqlite3_close(database);
return NO;
}
答案 0 :(得分:1)
这是正确的方法
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-dd-MMM"];
NSString *dateString = [dateFormat stringFromDate:today];
NSLog(@"date: %@", dateString);
[dateFormat release];
为代码而不是dateString传递你的字符串......
答案 1 :(得分:0)
请将您的日期格式更改为这样 -
[format setDateFormat:@"yyyy-MM-dd"];