2017-08-23 18 views
0

我目前有我的應用程序(Web應用程序)的功能版本。我的應用程序允許用戶在線安排約會。提交約會時,我是否需要考慮時區?所以如果有人住在紐約使用我在加利福尼亞州的應用程序,我需要調整預約時間作爲日期時間戳存儲的時間嗎?我需要擔心我的應用程序中的時區嗎?

如果時區仍然在所有這些中發揮作用,我會在整個Web上看到UTC並不十分理解。有人能指導我如何爲我的應用程序採取什麼方法?

謝謝你的時間!非常感謝!

回答

1

UTC日期是全球相同的日期/時間。您的應用程序的每個用戶都有一個到此日期/時間的本地偏移量,因此您的應用程序可以根據UTC日期和偏移量爲每個用戶計算正確的日期時間。

此偏移量基於用戶的位置,可能由瀏覽器通過JavaScript或通過瀏覽器提供(取決於您是在談論Web應用程序或桌面還是電話應用程序,您沒有提及)底層OS。

因此,簡而言之,將所有日期存儲爲UTC,並計算每個用戶的正確日期以將其顯示在您的應用程序中。

大多數編程語言都具有內置或可通過擴展使用的功能。 Google將「語言環境」或「本地化」(l10n)與您正在使用的語言或框架結合起來,以瞭解如何準確實施此功能。

編輯:你在你的應用程序中具體詢問約會;如果您的應用程序在Web服務器上運行,則會使用Web服務器的日期時間設置,因此,當您將用戶的日期時間與服務器上的當前時間進行比較時(例如查看約會是否到期),可能會導致您遇到麻煩

當您想比較不同時區中兩個用戶的約會以查看它們是否重疊時,它也會失敗。

如果您的應用程序只在本地運行,沒有中央存儲,它將可以正常工作,而不訴諸於UTC日期時間。

+1

對不起,我目前的應用程序是一個Web應用程序。我非常喜歡你的迴應,因爲它更詳細瞭解我需要做什麼來實現我想要的目標:)感謝你的反饋! :) – rapid3642

+0

迴應你的編輯:我明白了,所以如果我以UTC存儲約會時間,這應該解決那些服務器時間問題是否正確?然後當然在客戶端進行本地化以便在正確的時間顯示約會? – rapid3642

+0

是的。在服務器端,您可以比較UTC日期時間來檢查重疊情況。只要您獲得用戶的(本地化)日期,請在計算或存儲它之前將其轉換爲UTC。在計算或從存儲中獲取UTC日期後,在顯示之前將它們轉換爲用戶區域設置。再次,有擴展和框架可用於處理大多數這些轉換。 –

1

是的,您需要正確處理時區,因爲日曆應採用系統日期,因爲全球範圍內的不同用戶會有所不同。

+0

非常感謝你!我會盡我所能,儘快實現這個目標:)。很高興知道我的擔憂是有效的。感謝您花時間給我一些指導! – rapid3642

0

是的,考慮時區。

如果您可以在傳輸和存儲它們之前調整UTC的日期和時間,那麼您將很容易就能夠彌補夏令時的奇怪。

如果您只調整UTC時間返回顯示和輸入,根據您的用戶的區域設置,然後您可以安排在世界各地。

相關問題