2012-01-12 65 views
0

考慮到時區,我遇到了與我的網絡服務器和iPhone應用程序有關的問題。這一切都安然無恙,我知道如何改變它,但我只是想知道考慮以下情況最好的方法是什麼。與網絡服務器和iPhone應用程序的時區問題

我正在使用的iPhone應用程序使用多個NSDate對象來存儲日期時間值。這些與使用時間戳進行比較日期的網絡服務器(包括數據庫)進行交換。爲了導出NSDate對象,我通常通過格式化NSDate timeIntervalSince1970將它轉換爲字符串。我不知道這個區間的確切時區是什麼,但我猜這是區域設置(如果沒有其他設置)。

我的網絡服務器設置爲CET(UTC-1)。當iPhone應用程序將時間間隔轉換爲UTC-3,並且數據庫將其與UTC-1日期進行比較時,顯然會出現間隙。

這裏最好的辦法是什麼? timeIntervalSince1970如何處理時區?我很清楚NSDate沒有時區(一個時區僅僅是表示),但是由於我通過一個字符串轉換並且轉換爲unix時間,我認爲它很重要。

任何幫助,非常感謝。

親切的問候,

雷因德

回答

1

就一直使用UTC時間。在客戶端和服務器上。

+0

謝謝!這意味着我將不得不重置我的網絡服務器,並確保'timeIntervalSince1970'發送時間戳爲UTC。 – 2012-01-12 16:58:00

0

是的,我同意以前的帖子,以保持服務器和iPhone數據庫在同一時區(UTC)。在實際上在屏幕上顯示某些內容時(例如在UITextView中),只使用當地時間時,我只會混淆不同的時區。因此,如果悉尼某人與倫敦某人同時與服務器同步,則服務器和他們的iPhone數據庫都將存儲相同的日期時間,但會顯示不同的時間。

相關問題