iphone时间转换gmt到当地时间

时间:2012-12-12 09:22:27

标签: iphone ios

我得到的时间格式如下

“Wed,12 Dec 2012 09:08:30 GMT”现在我想将其转换为当地时间格式。请给我你的建议

谢谢,

维贾雅恩。

2 个答案:

答案 0 :(得分:2)

试试这个:

当地的GMT

NSString *dateString = @"Wed, 12 Dec 2012 09:08:30 GMT";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd MM yyyy hh:mma"];
NSTimeZone* sourceTimeZone = [NSTimeZone timeZoneWithAbbreviation:@"BST"];
[dateFormatter setTimeZone:sourceTimeZone];
NSDate *dateFromString = [dateFormatter dateFromString:dateString];

答案 1 :(得分:2)

我们需要首先创建一个NSDate对象形式'星期三,2012年12月12日09:08:30 GMT'

NSString *dateString = @"Wed, 12 Dec 2012 09:08:30 GMT";

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss Z"];
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"EN"]];
NSDate *date = [dateFormatter dateFromString:dateString];

您可能会在NSDateFormatter上设置区域设置,这与本地化日期有关(月和日都是英文)。

现在,您可以使用日期格式化程序在区域设置时区中显示数据:

[dateFormatter setLocale:[NSLocale systemLocale]];
[dateFormatter setTimeZone:[NSTimeZone systemTimeZone]];
NSString *localDateString = [dateFormatter stringFromDate:date];