Получить текущую дату и время часового пояса устройства iPhone из UTC -5 даты и времени часового пояса Приложение iPhone?

В моем приложении для iPhone я очень изо всех сил пытаюсь преобразовать время отклика веб-сервиса в текущее время устройства. webservice time in UTC-5 timezone. Приложение используется во всем мире. Поэтому мне нужно преобразовать время отклика в текущий часовой пояс устройства. Это простое приложение для обмена сообщениями.

Когда я отправил message the time is "5:05 PM" (India Chennai timezone), но получил время изwebservice is "2012-07-16 07:33:01". Когда я показываю время в приложении, я должен преобразовать время в местное время устройства. Я как-то пробовал, но пока не могу решить. Код:

NSDateFormatter *dateFormatter1 = [[NSDateFormatter alloc] init]; 
[dateFormatter1 setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; 
[dateFormatter1 setLocale:[NSLocale currentLocale]];
//[dateFormatter1 setTimeZone:[NSTimeZone timeZoneWithName:@"IST"]];
[dateFormatters setTimeZone:[NSTimeZone systemTimeZone]];
NSDate *date = [dateFormatter1 dateFromString:dateStr];
NSLog(@"date : %@",date);

Но дата и время вывода - 2012-07-16 02:03:01 +0000. Я сохранил эту дату/время в Coredata, и когда я получил из CoreDataи скрыл в NSString, используя приведенный ниже код,

NSDateFormatter *dateFormatters = [[NSDateFormatter alloc] init];
[dateFormatters setDateFormat:@"dd-MMM-yyyy hh:mm"];
[dateFormatters setDateStyle:NSDateFormatterShortStyle];
[dateFormatters setTimeStyle:NSDateFormatterShortStyle];
[dateFormatters setDoesRelativeDateFormatting:YES];
[dateFormatters setTimeZone:[NSTimeZone systemTimeZone]];  
dateStr = [dateFormatters stringFromDate:dateString];
NSLog(@"DateString : %@", dateStr);

Дата и время вывода: «Today 7:33 AM». Должно быть показано "Today 5:05 PM". Кто-нибудь может спасти мой день? Пожалуйста, помогите решить эту проблему. Заранее спасибо.

33
задан Krunal 19 February 2018 в 13:32
поделиться