啊,这疯狂的世界

28 天前
 kright
起因是苹果订阅通知给的时间:
"purchaseDate": 1752074788000 。
转换了一下,发现是北京时间:2025-07-09 23:26:28 。是一个来自未来的时间,然后就去问 ai 。

首先是豆包:
苹果订阅通知中的 purchaseDate: 1752074788000 是一个毫秒级时间戳(从 UTC 时间 1970-01-01 00:00:00 开始计算的毫秒数),对应的具体时间如下:
1. UTC 时间(世界协调时间)
转换后为:
2025 年 6 月 10 日 15:26:28 UTC
2. 北京时间( UTC+8 )
由于北京时间比 UTC 快 8 小时,转换后为:
2025 年 6 月 10 日 23:26:28

然后是 ds:
将 1752074788000 转换为人类可读时间:

毫秒 → 秒:1752074788000 / 1000 = 1752074788 秒
UTC 时间:2025-07-09 09:26:28 UTC

最后是 kimi:
转换结果( UTC 时间):
2025 年 07 月 09 日 星期三 07:26:28 UTC
如果你在中国(东八区 / Asia/Shanghai ):
2025 年 07 月 09 日 星期三 15:26:28

这三个 ai 都像模像样的给出了示例代码,分别是 js ,python 以及在线网站解析
遗憾的是,根据代码怎么跑,都是:2025-07-09 23:26:28 。
但是每一个 ai 都信誓旦旦的说自己的结果是绝对准确的。

最后我还是想不通,苹果为什么会给一个未来的时间戳。
3386 次点击
所在节点    程序员
10 条回复
NoOneNoBody
28 天前
提醒:欧洲现在是夏令时,东八区时差应该只有 7 小时

其他我就不研究了,我也搞不懂为啥给个看着像 UTC ,但实际适合东八区的时间
Shatyuka
28 天前
我有一计,你等到明天就没问题了(
512357301
28 天前
确实很怪,那你实际是什么时候收到的这个通知呢?你说一下实际时间,这样比较好判断原因。
也可以给下其他字段,辅助判断下原因,现在只有这一个字段,无从下手。。。
另外,不要让大模型 AI 做题,特别是 1+1=2 这种有固定答案的,大模型 AI 做不准,它适合做开放性的题目。小模型 AI 才适合做题呢
qxmqh
27 天前
这个是不是 提前收取订阅费用,我记得有这种操作吧。
kright
27 天前
@512357301 07-09 15:29:05 这个时间
liuhai233
27 天前
@kright
```
>>> datetime.fromtimestamp(1752074788, tz=timezone.utc)
datetime.datetime(2025, 7, 9, 15, 26, 28, tzinfo=datetime.timezone.utc)
```
512357301
27 天前
@kright #5 正好差 8 小时,那估计是苹果帮你提前计算好了,给的就是东八区的时间戳,转换的时候可以直接转,不用考虑加 8 小时。
很多时候,要么是 bug ,要么就是特性,没那么多弯弯绕。
kright
26 天前
@liuhai233
所以你这是 0 时区的地方时间呀。。。
kright
26 天前
@512357301 时间戳不区分时区的
512357301
25 天前
以下来自 grok ai 解答:
链接: https://grok.com/share/c2hhcmQtMg%3D%3D_8de177f8-6602-4088-8894-d1f2b2d7cc45
[收到苹果通知的时间是 2025-07-09 15:29:05 ,但苹果订阅通知字段 purchaseDate 的时间戳是 1752074788000 。
转换了一下,发现是北京时间:2025-07-09 23:26:28 。
这对于我收到通知的时间来说是一个来自未来的时间,是什么原因导致的?]

如果这是订阅续订( renewal ),purchaseDate 可能反映了订阅的下一周期生效时间。例如,苹果可能在 15:29:05 发送通知,告知即将续订,而 purchaseDate 记录的是续订实际生效的时间( 23:26:28 )。

如何验证原因?
检查通知类型:查看通知的详细内容(例如,是 INITIAL_BUY 、RENEWAL 、CANCELLATION 等)。如果是续订通知,purchaseDate 可能表示新订阅周期的开始时间。
检查订阅状态:登录苹果开发者后台或查看 App Store Connect 中的订阅记录,确认 purchaseDate 是否与订阅的生效时间一致。
联系苹果支持:如果时间差异常且无法解释,可以联系苹果开发者支持,提供通知详情和时间戳,询问具体原因。
查看交易日志:如果你的应用有服务器验证订阅的机制,检查服务器日志中与该交易相关的其他时间戳(例如 originalPurchaseDate 或 expiresDate ),以了解交易流程。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1144038

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX