我有一個asp.net-mvc
應用程序,它可以安排與世界各地的人約會。這些約會全部以UTC
格式保存在數據庫中。在註冊期間,用戶選擇他們居住的時區。因此,所有約會都顯示在他們的時區中。在不同時區安排約會
這就是說,這裏是情況。如果居住在時區W. Europe Standard Time
的用戶想要在下午1點到下午5點之間與5月1日(2014年5月1日)時區Eastern Standard Time
中的某人約會。
時間將轉換爲UTC
格式,並與數據庫中的現有約會(無論是否可能)(例如,用戶沒有其他約會)進行比較。如果可能的話,這個約會會被保存到兩個用戶的數據庫中。
現在來了有趣的部分。生活在W. Europe Standard Time
中的用戶將在他的日程安排中看到1點 - 5點(在下午),而居住在Eastern Standard Time
中的用戶將看到早上7點--11點(7小時時區之間的差異)。
發生這種情況是因爲約會在檢查視圖中的時間表時,都從UTC
轉換爲用戶的時區。
所以問題是,我怎樣才能確保兩個用戶獲得相同的時間進行約會,他們之間的相互作用?
我很困惑,沒有看到不同的小時,它實際上對應於你想要的相同時間? – svick
您可能*不想*按UTC計劃約會。參見[這裏](http://stackoverflow.com/a/22080372/634824)以及從那裏連接的響應。 –
@MattJohnson,我發現你的帖子在這個鏈接:http://stackoverflow.com/questions/19166995/java-calendar-date-and-time-management-for-a-multi-timezone-application/19170823#19170823很有用,特別是你的第二點。你有什麼機會可以爲我描述我的情況?我確實有將來安排的活動,並且時間以UTC格式保存。但在視圖中,它們顯示在用戶的本地時間(我的時區保存在數據庫中)。從你的小引用:「相反,你應該存儲兩個值」(從你的帖子中獲取該鏈接)。 – Quoter