iOS:将任何GMT转换为印度时间格式GMT + 5:30

时间:2017-01-11 07:31:55

标签: ios objective-c nsdate

我从服务器获取日期字符串及其GMT + 2我认为无法转换为印度语GMT 5:30格式这是服务器日期字符串 2017-01-11T05:08:15.157Z 我希望在印度时间格式中我尝试过以下代码但是变为空

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.Z"];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
NSDate *date = [dateFormatter dateFromString:stmp]; // create date from string

[dateFormatter setDateFormat:@"dd-MM-yyyy - h:mm a"];
[dateFormatter setTimeZone:[NSTimeZone localTimeZone]];
NSString *timestamp = [dateFormatter stringFromDate:date];
NSLog(@"New Date%@", timestamp);

如何将其转换为11-01-2017 08:14 PM格式。 提前谢谢。

1 个答案:

答案 0 :(得分:2)

通过做出小改动而不是给出日期格式 yyyy-MM-dd'T'HH:mm:ss.Z changede yyyy-MM-dd'T'完成它HH:mm:ss.zzzZ 这里的工作正常是我已更改的代码我们可以将任何GMT更改为系统本地时区谢谢

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.zzzZ"];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
NSDate *date = [dateFormatter dateFromString:stmp]; // create date from string

[dateFormatter setDateFormat:@"dd-MM-yyyy h:mm a"];
[dateFormatter setTimeZone:[NSTimeZone localTimeZone]];
NSString *timestamp = [dateFormatter stringFromDate:date];
NSLog(@"New Date%@", timestamp);

这是输出New Date23-12-2016 4:47 PM