在Thrift IDL中沒有日期類型。什麼是表示日期對象的最佳交叉語言機制。我認爲有2個理想的候選人,但我很想聽聽其他想法。在Apache Thrift中應如何表示日期對象
- 字符串 - 在每種語言中,您可以使用類似strftime的東西將日期轉換回來。
- i32 - 自時代以來的時間可以轉換回來。
我相信除了轉換之外還有其他的事情需要考慮。希望那裏的人有一些好的反饋。
在Thrift IDL中沒有日期類型。什麼是表示日期對象的最佳交叉語言機制。我認爲有2個理想的候選人,但我很想聽聽其他想法。在Apache Thrift中應如何表示日期對象
我相信除了轉換之外還有其他的事情需要考慮。希望那裏的人有一些好的反饋。
tldr;使用適當編碼的字符串,除非有其他原因。
這取決於需要什麼。這裏有一些差異 - 請記住現代計算機很快並且轉換可能只是整個應用程序時間的一小部分,所以「更多處理」通常甚至不是可測量的!
字符串(與ISO 8601或更嚴格的XML dateTime):
曆元(UNIX變體):
(該Julian day是另一種編碼與時代有許多相似之處。)
結論:
除非空間/性能是一個成熟的問題 - 這需要一個性能分析和功能要求 - 我會選擇前者。今天的計算機比幾年前的計算機要快很多,並且比計算機數十年前快得多。
這個答案。人類可讀的日期時間表示節省了大量的調試時間。 – misaxi
這很可能永遠不會被讀取,但是「沒有時區」是UNIX時間戳的*優點*之一。所有時間總是以UTC表示。簡單,簡單,有效,不含糊。 –
只是爲了後人,您可能會對temporenc(http://temporenc.org)感興趣,這是一種用於日期和時間的綜合二進制編碼格式。
使用i64來表示數據對象。 – faylon