Skip to content
ADP
API Design PrincipleBETA

[ADP-707] 日期時間和時間數據

指導原則

  • 客戶端和伺服器之間交換的所有日期時間和時間值必須(MUST)嚴格遵守 RFC 3339 格式。這個要求確保日期時間表示是明確的、一致的,並且在不同系統和平台之間具有互操作性。
    • 所有 API 必須(MUST)在其回應中以 RFC 3339 格式返回日期時間和時間值。
    • 所有接受日期時間和時間輸入的 API 必須(MUST)接受 RFC 3339 格式的值。
  • 當需要時,API 可以(MAY)使用包含微秒精度的格式。

RFC 3339 格式概述

RFC 3339 是 ISO 8601 標準的一個日期和時間表示配置文件。它為日期時間值定義了一個清晰且明確的格式,包括以下組件:

  1. 日期: 完整日期格式為 YYYY-MM-DD
  2. 時間: 一天中的時間格式為 hh:mm:ss
  3. 時區: 與 UTC 的時間偏移格式為 ±hh:mm 或字面值 Z 表示 UTC

示例

RFC 3339 日期時間字符串的示例:

http
2024-07-13T14:23:55Z

這表示 2024 年 7 月 13 日 14:23:55 UTC。

詳細分解

  • 日期: 2024-07-13
  • 時間: 14:23:55
  • 時區: Z (UTC)

可選的小數秒

RFC 3339 允許可選地包含最高精度為納秒的小數秒。帶毫秒的示例:

http
2024-07-13T14:23:55.123Z

時區偏移

當指定時區偏移時,必須包括小時和分鐘的偏移:

http
2024-07-13T14:23:55+02:00

這表示 2024 年 7 月 13 日 14:23:55,比 UTC 提前兩小時。

設計思路

通常,timestamp 用於描述特定時間,但它可能以秒或毫秒為單位,且無法明確表示時區資訊。此外,ISO-8601 定義了基本的時間格式,但它對時間的規範較為寬鬆。因此,我們的標準是採用更為嚴格的 RFC 3339。

參考資料