【问题标题】:How uber's Api treats timestampsuber 的 Api 如何处理时间戳
【发布时间】:2016-11-05 08:56:15
【问题描述】:

创建新的行程提醒需要 事件的时间reminder_time UNIX 时间戳。 https://developer.uber.com/docs/ride-requests/tutorials/ride-reminders/introduction#create-a-new-reminder

{
  "reminder_time": 1477397303,
  "phone_number": "+1234567890",
  "event": {
    "name": "Coding night Test",
    "location": "AMC Metreon 16",
    "latitude": 37.784223,
    "longitude": -122.403462,
    "time": 1477411703
  }
}

我正在创建一个新提醒,并根据我的时区在 UNIX 时间戳中提供事件时间和提醒时间(我已经计算了它们,并且这两个时间都在同一个 TZ 中)。

我的问题是优步如何解释这些提供的时间?

场景:活动时间在不同时区,用户设置提醒在不同TZ。

根据 uber 文档,时区仅提供以下信息:

时区:API 中的所有时区都表示为 UTC 纪元,本地化是客户端的责任。

  • 我该如何处理?我是否必须将 event_time 和 &reminder_time 都转换为标准时区,如 GMT/UTC,并传递这些时间戳。
  • 优步将如何解释这些给定的时间戳,并在用户预期发送的正确时间向用户发送提醒。
  • Uber 是否考虑提供 phone_number 来计算时区并根据她的 TZ 向用户发送通知/短信。

到目前为止,当我发送在我的 TZ 中计算的两个时间戳时,我只能在正确的时间收到短信。

【问题讨论】:

  • Unix 时间戳始终基于 UTC。您的目标是什么类型的输入或输出?什么编程语言?至于电话号码,不-根本与时区无关。可以使用 lat/lon 来导出时区,但不能使用电话号码。
  • 您应该将两个时间都转换为 utc,因为 unix 时间是 utc。您可以为用户本地化以转换为他们的本地时间进行显示。

标签: datetime timezone unix-timestamp timezone-offset uber-api


【解决方案1】:

您应该将所有时间都转换为 utc,因为 unix time == utc。您可以为用户进行本地化,以便在向用户显示时转换为他们的本地时区。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-16
    • 2016-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-11
    相关资源
    最近更新 更多