2016-06-27 3 views
0

я имел приложение, в котором я использую форматирования даты для строки, как «6/30/2016 1:00:00 PM», как этот 30-Jun-2016 1:00 .Я делать как этотформат даты, дающий неправильные даты в iOS?

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"mm/dd/yyyy hh:mm:ss a"]; 
NSDate *date = [dateFormat dateFromString:dateStr]; 
[dateFormat setDateFormat:@"dd-MMM-yyyy hh:mm"]; 
NSString *stringDate = [dateFormat stringFromDate:date]; 
return stringDate; 

, но это не дает мне неправильную дату, как этот 30- Январь-2016 1:00.

Может кто-нибудь указать мне, где я иду не так?

+0

Ваш вопрос непонятен. – user3182143

+2

Используйте этот формат даты во 2-й строке MM/dd/yyyy hh: mm: ss a. В результате я получаю 30 июня 2016 года 01:00. – kb920

ответ

1

Вы указали неправильный формат даты, необходимый для зачитывания месяца MM не маленький, маленький mm для минуты. Измените свой код следующим образом.

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"MM/dd/yyyy hh:mm:ss a"]; 
NSDate *date = [dateFormat dateFromString:dateStr]; 
[dateFormat setDateFormat:@"dd-MMM-yyyy hh:mm"]; 
NSString *stringDate = [dateFormat stringFromDate:date]; 
return stringDate; 

Надеюсь, это вам поможет.

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