2013-10-27 5 views
-1

Я пытаюсь преобразовать NSString в NSDate Объект в iOS, но я не получаю объект NSDate. Я получаю ноль в качестве даты, когда я прошел нитьПреобразование NSString в NSDate возвращает nil

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 

[dateFormatter setDateFormat:@"dd MMM,yyyy HH:mm:ss"]; 

NSString *dateString = @"2013-10-23 04:04:05"; 

NSDate *date = [dateFormatter dateFromString: dateString]; 

Что я сделал не так?

+5

Ваш формат не соответствует входной строки, так что это не удастся, и возвращать ноль. – Tim

+3

Этот формат даты не похож на строку даты. Как вы ожидали, что это сработает? –

ответ

7

Ну, dateFormat, который вы используете, не тот, который я вижу в вашей строке.

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 

[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; 

NSString *dateString = @"2013-10-23 04:04:05"; 

NSDate *date = [dateFormatter dateFromString: dateString]; 
1

Ну вы можете сделать две вещи: -

1) изменить формат даты elio.d обмолвился в коде

2) Ваша дата строка должна быть ниже формат, который вы имели упомянутые на вашем коде см ниже, специфичным к вашему dateformatter, а затем, если вы проверяете, то вы не получите ноль

NSString *dateString = @"23 OCT, 2013  
    04:04:05"; 
+0

изменить формат на нежелательный, не имеет смысла. и если вы хотите поддержать elio.d, вы должны добавить комментарий к его ответу. всего: бесполезный ответ. – vikingosegundo

+0

Пожалуйста, прочитайте ans, прежде чем давать комментарий, как ясно упоминается в ans –

+0

. Я не вижу смысла, почему идти в другом направлении, а не фиксировать формат. пожалуйста, удалите этот ответ. – vikingosegundo

Смежные вопросы