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

标签 ios objective-c nsdate

我从服务器获取日期字符串及其 GMT+2 我认为无法转换为印度 GMT 5:30 格式 这是服务器日期字符串 2017-01-11T05:08:15.157Z 我想要印度时间格式的这个我已经尝试了下面的代码但是得到了 null

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 格式。 提前致谢。

最佳答案

它通过做一些小改动来完成,即不是将日期格式 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

关于iOS:将任何 GMT 转换为印度时间格式 GMT + 5:30,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41585087/

相关文章:

ios - 如何从 App Store Connect 中删除 "Unresolved issue"横幅?

ios - 隐藏 MPRemoteCommand 向前搜索和向后搜索

ios - 为什么 Storyboard应用程序中的 self.navigationController 为 nil?

ios - UICollectionView 始终在当前之前显示上一个选择

ios - Objective-C ,比较两个日期

带有 C++Lucene 库的 IPAD 的 C++ 应用程序

ios - 通用链接不起作用

objective-c - 双括号方法语法。

cocoa - 计算 cocoa 的时差

通过将小时设置为 0 更改日期的 Swift 日历日期