В моем приложении iPhone я очень стараюсь преобразовать время отклика webservice на текущее время устройства. 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
". Может ли кто-нибудь пожалеть мой день? Пожалуйста, помогите решить эту проблему. Спасибо заранее.