我正在尝试检查自动续签收据的到期日期,但是在沙盒中,一旦我购买它并检查它的日期是否晚了2个小时。

例如,如果我在下午5点购买,则到期日期为

2:05(比5分钟落后2小时)... 5分钟是沙盒中7天订阅的持续时间。

收据上的日期具有以下格式:

"In App Subscription Expiration Date" = "2014-04-21 02:05:10 +0000";

说,收据上的这个小时不应该与用户时间相符吗?

好的,我可以将其转换为当地时间,但是这里最大的问题是,我是否应该始终假设来自Apple的日期将带有+0000 = GMT?

===============>>#1 票数:0 已采纳

好的,我可以将其转换为当地时间,但是这里最大的问题是,我是否应该始终假设来自Apple的日期将带有+0000 = GMT?

否,但是您应该假设Apple将为您提供相同格式的日期(包括末尾的偏移量)。 因此,要将其转换为本地时间,您将使用以下内容:

NSDate *expirationDate = [[NSDate alloc] initWithString:@"2014-04-21 02:05:10 +0000"]

然后进行比较:

if ([expirationDate timeIntervalSinceNow] < 0) {
    //expired
}
else {
    //not expired
}

苹果极有可能会一直使用GMT。 但是,如果他们认为有必要每次发送偏移量,则最好检查一下。

  ask by SpaceDog translate from so

未解决问题?本站智能推荐: