2016-11-28 2 views
-4

Моя строка strDate:04/12/2016 при преобразовании ее на дату в формате dd/MM/yyyy. Он производит другой формат.it производит результат как weekEndDate:2016-12-04 00:00:00 +0000. Мой кодdateformatter, производящий неправильный результат при преобразовании datefromstring

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateFormat:@"dd/MM/yyyy"]; 
weekEndDate=[formatter dateFromString:strDate]; 
+0

NSDate всегда нерегулярный формат –

+0

я установить дату мин даты picker to Текущая дата в xib, но когда я прокрутку выбора даты до предыдущих дат, она вернется к текущей дате, но после этого, которую когда-либо выбирал, она показывает, что я был до дня. например, например, после прокрутки до предыдущих дат, я выбираю дату 21 дека, но результат дает 20 декабря, и это только в случае, если я прокручу дату выбора до предыдущих дат. – niket

ответ

0

2016-12-04 00:00:00 +0000

Это не неправильный формат, всякий раз, когда вы будете печатать объект NSDate в вашем отладчике, что объектно будет напечатан, как в приведенной выше строке, то есть в часовом поясе UTC, если вы хотите проверить правильный формат, а затем преобразовать этот объект даты в строку и напечатать эту строку, вы получите правильный формат.

+0

Я конвертирую эту дату из строки в формате dd/MM/yyyy, но все же дата в yyyy-MM-dd, это правильно? – niket

+0

Да, это правильно, NSDate не знает никакого формата, который всегда будет печататься следующим образом. – Rajat

+0

Я установил минимальную дату выбора даты в текущую дату в xib, но когда я прокрутку выбора даты до предыдущих дат, она вернется к текущей дате, но после того, что когда-либо дата, которую я выберет, будет отображаться за день до даты. например, например, после прокрутки до предыдущих дат, я выбираю дату 21 дека, но результат дает 20 декабря, и это только в случае, если я прокручу дату выбора до предыдущих дат. – niket

0

Это нормально, что вы получите тот же формат, если вы хотите получить дату выходных с помощью этой форматировщика вот как вы это делаете:

NSString *strDate = @"04/12/2016"; 

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateFormat:@"dd/MM/yyyy"]; 
NSDate *weekEndDate = [formatter dateFromString:strDate]; 

NSLog(@"%@", [formatter stringFromDate:weekEndDate]); // 04/12/2016 
NSLog(@"%@", weekEndDate); // 2016-12-04 00:00:00 +0000 
Смежные вопросы