2013-05-08 3 views
0

Когда яПолучение неправильное время использования NSDateFormatter

[dateFormatter setDateFormat:@"HH:mm"] 

, используя для извлечения текущего часа я получаю правильное время до 12:59, но после этого он снова начинается с 1:00 т.е. 12:59 отображается как 12:59, а 14:00 - 2:00.

Пожалуйста, позвольте мне, если у кого-либо есть аналогичная проблема и предложите решение.

Благодаря

+2

код пожалуйста ..... –

ответ

1

Я согласен с

[dateFormatter setDateFormat:@"HH:mm"] 

должен дать вам время в течение 24 часов. Но это не работает, если пользователь установил 24 часа. Несмотря на использование HH в строке формата, пользовательская настройка отменяет это. Это может быть проблемой в вашем случае!

+0

я получаю правильное отображение времени с 24 часовой формат в любой момент. На самом деле, я поделился своим приложением с людьми в течение двух часовых поясов, один из которых имеет эту проблему. Я попытался изменить часовой пояс и т. Д. На своем мобильном устройстве, но все же у меня нет этой проблемы. Я получаю правильное время с помощью форматирования HH – user1627673

3

Пожалуйста, ознакомьтесь с кодом ниже.

NSDateFormatter *dateFormator = [[NSDateFormatter alloc] init]; 
    dateFormator.dateStyle = NSDateFormatterMediumStyle; 
    [email protected]"HH:mm:ss"; 
    NSCalendar * calender=[[NSCalendar alloc]initWithCalendarIdentifier:[NSGregorianCalendar autorelease]]; 
    NSDateComponents * component=[calender components:NSHourCalendarUnit|NSMinuteCalendarUnit fromDate:date]; 
0

Используйте этот один

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

[dateFormatter setDateFormat:@"YYYY-MM-dd kk:mm:ss"]; 
[dateFormatter setLocale:[NSLocale currentLocale]]; 

NSString *dateString = [dateFormatter stringFromDate:date]; 
+0

. Вы получите точное время, я надеюсь –

0

Попробуйте этот код

[dateFormatter setDateFormat:@"hh:mm:ss"]; 

HH: 24 часового формата

чча: 12-часовой формат

Так что в вашем случае

// после преобразования на сегодняшний день

если ON

[formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"]; 

если OFF

[formatter setDateFormat:@"YYYY-MM-dd hh:mm:ss a"]; 

Надеется, что это работает для вас.

0

Вы можете использовать

[dateFormatter setDateFormat:@"H:mm"] 

за 24-часовой формат времени

0

Установите DateFormat в

[dateFormatter setDateformat:@"HH:MM a"]; 
Смежные вопросы