【问题标题】:iphone time conversion gmt to local timeiphone时间转换gmt到本地时间
【发布时间】:2012-11-29 23:08:47
【问题描述】:

我得到如下的时间格式

“2012 年 12 月 12 日星期三 09:08:30 GMT”现在我想将其转换为当地时间格式。请给我您的建议

谢谢,

维贾扬。

【问题讨论】:

标签: iphone ios


【解决方案1】:

我们首先需要创建一个NSDate 对象形式'Wed, 12 Dec 2012 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 上设置了区域设置,这与本地化日期有关(月份和日期都是英文)。

现在您可以使用日期格式化程序在本地时区显示 dat:

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

【讨论】:

    【解决方案2】:

    试试这个:

    本地到格林威治标准时间

    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];
    

    【讨论】:

      猜你喜欢
      • 2013-10-29
      • 2012-07-24
      • 2010-09-15
      • 2013-01-22
      • 2012-08-28
      相关资源
      最近更新 更多