App收据中的iOS日期格式问题

标签 ios date nsdate receipt-validation

我在验证收据时解析从 App Store 返回的 JSON。

其中一个公共(public)字段是 original_purchase_date。但是,此处返回的日期格式为“2014-05-30 14:05:51 Etc/GMT”。问题是,当我尝试比较它时,后缀 (Etc/GMT) 似乎导致了问题。我试图了解如何管理它,因为这个后缀可以是任何时区(比如 America/Los_Angeles 或其他)。

有没有办法将其转换成可用的格式?

我知道收据中还有一个字段 original_purchase_date_ms,我怀疑它是自 1970 年以来的秒数,但是,这是一个私有(private)字段(未在任何文档中调用),所以我不想依赖它的使用,才发现应用被拒绝了,或者苹果后来删除了这个字段!

提前致谢。

最佳答案

示例代码:

NSString *oldDateStr = [NSString stringWithFormat: @"2014-05-30 14:05:51 Etc/GMT"];
NSString *newDateStr = [oldDateStr stringByReplacingOccurrencesOfString:@"Etc/GMT" withString:@""];

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    [dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *date1 = [dateFormat dateFromString:newDateStr];

关于App收据中的iOS日期格式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24082106/

相关文章:

ios - AVAnimator 在设备上崩溃

ios - 检索比特率时无法使用 HLS 获取 AVAsset 的轨道

php - 转换 SQL 的日期格式

ios - 我如何在不同的日期容纳 NSDate 比较器的开始和结束日期?

ios - (SWIFT 3) 创建父子托管对象上下文

ios - swift - 扩展 PieChartView

mysql - 在mysql中加载数据并避免重复记录

R:更正 R 中日期的年份

字符串到 NSDate 的转换适用于英语,但不适用于俄语

ios - NSDate dateWithTimeIntervalSince1970 不返回 GMT/UTC 时间