下一次美国消费者价格数据将于2026年11月10日星期二 13:30 UTC 发布,数据所属期为2026年10月。at 字段始终使用 UTC,因此需按你的时区转换。对于2026年11月10日的发布,13:30 UTC 对应雅加达的 20:30、东京的 22:30 和纽约的 08:30,此时纽约使用标准时间。
使用 Python 转换 API 中的发布时间
先读取经济数据发布条目的 at 字段。它以 Z 结尾的 UTC 时间戳表示发布时刻。显示各地发布时间时,都使用该时间戳作为输入,包括本地日期与 UTC 日期不同的地区。
获取免费 API 密钥以读取经济数据发布日期。Narwhal API 的基础 URL 为 https://api.narwhalapi.com。将密钥保存在 NARWHAL_API_KEY 环境变量中,并通过 Authorization: Bearer YOUR_KEY 发送。REST 和 MCP 共用同一个密钥,时间戳转换也从同一个 at 字段开始。
- 读取 UTC 时间戳 使用
at进行时间转换。2026年11月10日美国消费者价格数据发布的时间戳为2026-11-10T13:30:00Z;Python 示例使用+00:00表示同一个 UTC 时间。 - 选择目标时区 使用读者所在地的 IANA 时区名称,例如
Asia/Jakarta或America/New_York。使用时区名称可以按发布日期适用的夏令时规则转换,使用固定偏移量则需要确保它适用于该日期。 - 转换时间戳 将目标时区名称传给 Python 的
ZoneInfo。脚本将2026年11月10日的发布时间转换为纽约、伦敦、雅加达、东京和悉尼时间,并输出各地的本地日期、时间和时区缩写。from datetime import datetime from zoneinfo import ZoneInfo release = datetime.fromisoformat( "2026-11-10T13:30:00+00:00" ) # the "at" field is always UTC for zone in [ "America/New_York", "Europe/London", "Asia/Jakarta", "Asia/Tokyo", "Australia/Sydney", ]: print( f"{zone:18}", release.astimezone(ZoneInfo(zone)).strftime("%a %d %b %Y %H:%M %Z"), ) - 同时读取本地日期和时间 在日历中使用或显示结果时,保留日期。对于这次2026年11月10日的发布,悉尼的结果为2026年11月11日,脚本中其他地区仍为2026年11月10日。
在电子表格中转换为雅加达时间
将 at 中的 UTC 时间戳文本放入单元格 A2。在 Google Sheets 或 Excel 中使用以下公式,并将结果格式设为日期时间。雅加达使用 UTC+7,不实行夏令时,因此该转换始终使用同一个固定偏移量。
=DATEVALUE(LEFT(A2,10))+TIMEVALUE(MID(A2,12,8))+7/24公式从时间戳开头提取日期,从后面的部分提取时间,再加上以天为单位的雅加达时区偏移量。若 A2 为 2026-11-10T13:30:00Z,结果就是2026年11月10日 20:30。同时显示结果中的日期和时间,即可在表格中看到本地发布日期及时间。
对于实行夏令时的地区,使用 Python 转换,或加上发布日期适用的偏移量。雅加达公式使用的是雅加达的偏移量;将表格改用于其他地区时,请使用目标地区适用的偏移量。
在2026年11月10日的示例中,A2 的日期部分为 2026-11-10,时间部分为 13:30:00。公式在该日期时间上加上 7/24,得到雅加达时间。
哪种转换方式适合你的用途?
| 情况 | 最合适的方法 | 原因 |
|---|---|---|
| 不实行夏令时的时区,如雅加达或东京 | 在电子表格中加上固定偏移量 | 转换使用该地区固定的 UTC 偏移量。 |
| 实行夏令时的时区,如纽约、伦敦或悉尼 | 在代码中使用 IANA 时区名称 | 转换使用该时区在发布日期适用的偏移量。 |
| 在网站上显示发布时间 | 在浏览器中使用 Intl.DateTimeFormat(..., { timeZone }) 转换 | 通过 timeZone 指定目标时区。 |
根据查看时间的人选择目标时区。安排自己的日程时,使用所在地的 IANA 时区名称。如果还要同时显示发布方的本地时间,则使用发布方的 timezone 值单独显示。
为什么悉尼的发布日期是第二天?
2026年11月10日的发布在悉尼对应2026年11月11日,因为加上 UTC+11 偏移量后已过午夜。2026年11月10日星期二 13:30 UTC 对应悉尼的2026年11月11日星期三 00:30 AEDT。两个日期都指向同一个发布时刻。
夏令时会改变发布时间吗?
夏令时可能使 UTC 发布时间相差一小时,因为发布时间按发布方的本地时间设定。2026年11月10日美国 CPI 的发布时间为 13:30 UTC,即纽约的 08:30 EST。在美国夏令时期间,同一本地发布时间对应 12:30 UTC。
夏令时切换后,重新读取 at。使用目标地区的 IANA 时区名称转换该时间戳,使发布方的 UTC 发布时间和读者的本地时间都按发布日期适用的规则确定。
timezone 字段提供什么信息?
timezone 字段提供发布方的 IANA 时区,美国对应 America/New_York。需要同时显示发布方和你所在地的本地发布时间时,使用该字段。对于2026年11月10日的发布,即同时显示纽约时间 08:30 和雅加达时间 20:30。
即使随附的 timezone 指向纽约,也要将 at 视为 UTC。两个字段各有用途:at 提供要转换的时刻,timezone 提供发布方时区,用于显示本地时间。
示例:2026年11月10日 CPI 发布的雅加达时间
以美国消费者价格数据发布的时间戳 2026-11-10T13:30:00Z 为例。读取 UTC 日期和时间,再加上雅加达的七小时偏移量。相加后仍在2026年11月10日内,因此本地发布日期与 UTC 日期相同。
作为对比,同一个2026年11月10日的时间戳对应纽约的 08:30 EST、伦敦的 13:30 GMT 和东京的 22:30 JST。三地的日期均为2026年11月10日星期二。悉尼则已是2026年11月11日星期三 00:30 AEDT。雅加达的结果使用 WIB,日期仍为星期二,因此日历条目使用2026年11月10日 20:30。
| 步骤 | 日期和时间 |
|---|---|
| 读取 UTC 发布时间 | 2026年11月10日,13:30 UTC |
| 加上雅加达的时区偏移量 | 13:30 UTC + 7 小时 = 2026年11月10日 20:30 WIB |
| 使用本地时间结果 | 2026年11月10日星期二,20:30 WIB |
发布于。
后续步骤
创建免费密钥,在自己的代码中调用 API。 获取免费 API 密钥
