【问题标题】:NSTimezone not giving GMT+ or GMT- formate iphone?NSTimezone 不提供 GMT+ 或 GMT- 格式的 iPhone?
【发布时间】:2011-12-28 09:58:50
【问题描述】:

我得到了时区的总秒数,但没有得到它在 GMT 之前或在 GMT 之后。这是我的代码。

NSDate *sourceDate = [NSDate dateWithTimeIntervalSinceNow:3600 * 24 * 60];
NSTimeZone* destinationTimeZone = [NSTimeZone systemTimeZone];
int totalSeconds = [[NSTimeZone systemTimeZone] secondsFromGMT];
NSLog(@"sourceDate=%@ timeZoneOffset=%d", sourceDate, totalSeconds);

我想知道它是 GMT + 还是 GMT - 例如 印度时区是 GMT+5:30 我用这段代码总共得到 19800 秒,但如何知道它是 GMT+。

任何帮助将不胜感激。

【问题讨论】:

    标签: iphone objective-c ios nsdate nstimezone


    【解决方案1】:

    返回的秒数是一个整数值,取决于与 GMT 的偏移量,它是正数还是负数。

    另外,您可能想通读documentation。它在第一部分讨论了这一点。

    【讨论】:

    • 感谢您的回答。我阅读了文档,但不知道如何去做。请指导我使用任何可用的方法或属性,或者如果您有任何代码,请提供给我
    • 您说返回的秒数是 19800。这意味着它是 GMT+。如果您的值为 -19800,那么它将是 GMT-。
    • 谢谢。是的,你是正确的身体。我为里贾纳 - 加拿大得到 -10800。我的代码是正确的。
    • 抱歉,里贾纳 - 加拿大 -21600。
    【解决方案2】:

    你得到的结果是正确的,如果是 GMT- 你会得到一个负值,你可以使用以下检查:

    if (totalSeconds >= 0){
        // it's GMT+
    } else {
        // it's GMT-
    }
    

    【讨论】:

      猜你喜欢
      • 2012-03-06
      • 1970-01-01
      • 2013-02-12
      • 2013-02-03
      • 1970-01-01
      • 1970-01-01
      • 2018-04-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多