Ios 自动续期收据到期日

Ios 自动续期收据到期日,ios,cocoa-touch,in-app-purchase,nsdate,Ios,Cocoa Touch,In App Purchase,Nsdate,我试图检查自动续签收据的到期日期,但在沙箱中,一旦我购买了它并检查了日期,它就落后了2个小时 例如,如果我在下午5点购买,则到期日期为 2:05(落后两小时+5分钟)。。。5分钟是7天订阅在沙箱中持续的时间 收据上的日期采用以下格式: "In App Subscription Expiration Date" = "2014-04-21 02:05:10 +0000"; 那么,收据上的这个小时不应该和用户时间一致吗 好的,我可以将其转换为当地时间,但这里的一个大问题是我是否应该总是假设来自苹果

我试图检查自动续签收据的到期日期,但在沙箱中,一旦我购买了它并检查了日期,它就落后了2个小时

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

2:05(落后两小时+5分钟)。。。5分钟是7天订阅在沙箱中持续的时间

收据上的日期采用以下格式:

"In App Subscription Expiration Date" = "2014-04-21 02:05:10 +0000";
那么,收据上的这个小时不应该和用户时间一致吗

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

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

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

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

if ([expirationDate timeIntervalSinceNow] < 0) {
    //expired
}
else {
    //not expired
}
if([expirationDate TimeIntervalenceNow]<0){
//过期
}
否则{
//未到期
}

苹果很可能会一直使用GMT;但是,如果他们觉得每次都有必要发送抵销,您不妨检查。

好的,谢谢,我怀疑,但我发现了另一个问题,并就此提出了另一个问题。如果你想查一查。