當我使用RESTful服務進行GET/PUT/POST日期/時間時,是否有格式化或強制格式的標準或首選方法?什麼是使用REST日期的最佳格式?
最好是嚴格驗證? (例如,YYYY-MM-DD HH:MM:SS GMT或Unix時間戳)或者作爲一般規則,日期/時間格式化應該更鬆散地定義,可能是多種潛在格式?
我對Unix時間戳的主要擔憂是它們不是人類可讀的,我不得不花費時間將資源轉換爲時間戳和從時間戳轉換日期。
當我使用RESTful服務進行GET/PUT/POST日期/時間時,是否有格式化或強制格式的標準或首選方法?什麼是使用REST日期的最佳格式?
最好是嚴格驗證? (例如,YYYY-MM-DD HH:MM:SS GMT或Unix時間戳)或者作爲一般規則,日期/時間格式化應該更鬆散地定義,可能是多種潛在格式?
我對Unix時間戳的主要擔憂是它們不是人類可讀的,我不得不花費時間將資源轉換爲時間戳和從時間戳轉換日期。
ISO-8601通常是一種便攜式,可讀的時間戳格式,設計時考慮到了數據交換。本地或通過第三方庫支持大多數語言。
正如你所說,Unix時間戳不是特別可讀,當然也不會讓人們易於與服務交互 - 無論是爲了探索還是調試目的。
有一點需要注意的是,數據庫對unix時間戳的支持並不理想。本質上,MySQL(例如)將unix時間戳看作(簡單地)無符號整數。要使用MySQL日期/時間操作,您需要將其轉換爲MySQL時間戳類型。甲骨文也,iirc,並不真正瞭解一個unix時間戳作爲日期時間類型。
對於那個種的原因,我通常會使用ISO-8601格式來傳輸時間戳信息,而不是一個unix時間戳。
Unix時間戳在大多數語言中是明確的和可用的。 – assylias
@assylias我對Unix時間戳的主要擔憂是它們不是人類可讀的。我會編輯我的問題來反映這一點。 –
你需要你的休息信息是人類可讀的嗎? – assylias