【问题标题】:iPhone - How to get time zone offset?iPhone - 如何获得时区偏移?
【发布时间】:2011-08-04 10:41:33
【问题描述】:

我们有 NSTimeZone 类可以提供更多关于时区的信息。 但我只想得到时间的偏移量。例如:+05.30 是 Inida 的偏移量 换句话说,相对于 UTC 的时间偏移。

以下代码的一个问题是它在 4.3 模拟器中崩溃,而在 4.2 模拟器中运行良好。因为 4.2 模拟器参考 GMT 和 4.3 模拟器参考 IST 给出输出

NSString* tzDescription = [[NSTimeZone systemTimeZone] description];
NSArray* tzArray = [tzDescription componentsSeparatedByString:@"GMT"];
NSString* gmtStr = [[tzArray objectAtIndex:1] substringToIndex:6];

我找不到通用的解决方案。

【问题讨论】:

    标签: iphone nstimezone


    【解决方案1】:

    我认为您可以使用 NSDate 和 NSDateFormatter 类来获取时区偏移量。您可以通过以下方式进行。

    NSDate *date = [NSDate date];
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc]
    initWithDateFormat:@"zzz" allowNaturalLanguage:NO];
    NSString *zoneOffset = [dateFormat stringFromDate:date];
    

    所以现在在 zoneOffset 中,您将拥有所需的东西。

    【讨论】:

    • 不错。不在 ARC 中时不要忘记发布 dateFormat。
    猜你喜欢
    • 2017-07-03
    • 1970-01-01
    • 2019-07-19
    • 2018-08-31
    • 1970-01-01
    • 2021-08-28
    • 2013-10-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多