在我的 iPhone 应用程序中,我很难将 web 服务响应时间转换为当前设备时间。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
”。谁能拯救我的一天?请帮助解决这个问题。提前致谢。