将NSString转换为NSDate格式?

时间:2011-11-25 06:14:55

标签: nsdate nsdateformatter

  

可能重复:
  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;
  }

2 个答案:

答案 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"];