【问题标题】:NSTimeZone and special time zone area EtcNSTimeZone 和特殊时区区域等
【发布时间】:2014-05-27 01:17:08
【问题描述】:

假设 iOS 7 中的 NSTimeZone timeZoneWithName: 接受具有非特殊区域(如 America/New_York)和 special area(如 Etc/UTC)的时区 ID 是否正确,但 NSTimeZone name永远不会返回特殊区域(但会返回例如Europe/London)?

谁能证实这一点?

【问题讨论】:

    标签: ios timezone nstimezone


    【解决方案1】:

    我不认为这是一个安全的假设。在 OS X 上,在我的时区和语言环境(美国英语,UTC-6)中,我可以运行以下代码:

        NSTimeZone *utc = [NSTimeZone timeZoneWithName:@"Etc/UTC"];
        NSTimeZone *london = [NSTimeZone timeZoneWithName:@"Europe/London"];
        NSLog(@"utc name = %@", [utc name]);
        NSLog(@"london name = %@", [london name]);
    

    它给出以下输出:

    UTC 名称 = 等/UTC

    伦敦名称 = 欧洲/伦敦

    因此,如果一个时区在实例化时被赋予了一个特殊区域,它将继续使用它的名称。作为一个复杂的附加层,使用+timeZoneWithAbbreviation: 也会得到不同的名称,例如:

        NSTimeZone *utc2 = [NSTimeZone timeZoneWithAbbreviation:@"UTC"];
        NSLog(@"utc2 name = %@", [utc2 name]);
    

    utc2 名称 = GMT

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-03
      • 2011-06-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多