You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UPS Tracking API新版JSON接口:如何解析活动时间时区?

UPS新版JSON追踪API活动时区解析规则

问题背景

UPS旧版XML追踪API的活动响应中,会同时返回本地日期时间、GMT时间及时区偏移量,示例如下:

<Activity>
  <ActivityLocation>
    <Address>
      <City>DUNLAP</City>
      <StateProvinceCode>TN</StateProvinceCode>
      <PostalCode>37327</PostalCode>
      <CountryCode>US</CountryCode>
    </Address>
    <Code>MN</Code>
    <Description>Side Door</Description>
  </ActivityLocation>
  <Date>20231130</Date>
  <Time>164340</Time>
  <GMTDate>2023-11-30</GMTDate>
  <GMTTime>21:43:40</GMTTime>
  <GMTOffset>-05:00</GMTOffset>
</Activity>

但新版JSON追踪API(/api/track/v1/details/{tracking-no})的活动响应仅提供本地日期和时间,缺少时区相关信息,示例如下:

{
  "location": {
    "address": {
      "city": "DUNLAP",
      "stateProvince": "TN",
      "countryCode": "US",
      "country": "US"
    },
    "slic": "3740"
  },
  "status": {
    "type": "D",
    "description": "DELIVERED ",
    "code": "FS",
    "statusCode": "011"
  },
  "date": "20231130",
  "time": "164340"
}

开发者需自行确定活动日期时间对应的时区,现有两种可选方案,需明确正确规则。

方案分析与结论

方案1:使用活动地点的时区

每个活动的location.address字段包含了该活动发生的具体城市、州/省及国家信息,结合旧版API的逻辑(旧版本地时间对应活动地点的时区),这是符合业务场景的正确方案。比如示例中活动地点为美国田纳西州邓拉普,对应美国中部时区(UTC-5/UTC-4,夏令时调整),与旧版返回的GMTOffset完全匹配。

方案2:使用包裹始发地址时区

该方案不符合实际业务逻辑,包裹的中转、派送等活动发生在不同地点,每个活动的本地时间必然对应发生地的时区,而非始发地时区,会导致时间解析错误。

综上,正确的规则是使用活动对应地点(activity.location.address)的时区来解析本地日期时间,这也是延续旧版API的设计逻辑。

内容的提问来源于stack exchange,提问作者Dave

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 11:01:23