【问题标题】:Verify Apple iOS iTunes receipt; 0-based or 1-based hour验证 Apple iOS iTunes 收据;从 0 开始或从 1 开始的小时
【发布时间】:2012-11-12 17:06:30
【问题描述】:

我正在编写一个 Java servlet,它将验证来自 iOS 应用内购买的 Apple 收据日期是否有效,并获取一个收据对象以返回给 iOS 客户端。此验证的规范在this page from the official iOS documentation

在经过验证和转换的 receipt 对象(Apple 通过 HTTP Post 返回给 servlet 的 JSON)中,日期字符串示例如下:2012-01-13 10:14:24 America/Los_Angeles。我想写一个Jackson JSON deserializer 将字符串转换成Joda DateTime 对象。

问题:我不确定时间戳的 hour 字段是从 0 开始还是从 1 开始。如果它是基于 0 的,那么我将使用 HH 创建一个 DateTimeFormatter 来指定小时字段。相反,如果它是基于 1 的,那么我会使用 kk。有关如何编写时间戳配置字符串的更多信息,请参阅Javadoc for DateTimeFormat

有谁知道 Apple 的时间戳是从 0 开始还是从 1 开始?由于我还没有活动的 iTunes 应用程序(我的测试时间戳来自示例收据),因此我无法为此编写测试。谢谢!

【问题讨论】:

  • 我几乎可以肯定它是基于 0 的。

标签: java ios itunes jackson jodatime


【解决方案1】:

来自:Verifying Store Receipts 你可以知道purchase_date 是一个transactionDatetransactionDate NSDate。从Date Formatters可以看出使用的小时格式是HH:mm

【讨论】:

    猜你喜欢
    • 2019-09-20
    • 1970-01-01
    • 1970-01-01
    • 2013-09-26
    • 2019-02-07
    • 2020-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多