我目前正在開發一個項目,要求用戶(在他們各自的時區)爲他們全天收到的某些通知設置一個「切斷」時間。例如,用戶會說,他們不希望在上午8:00之前,不晚於晚上7:30。該用戶位於CST(每個用戶的時區信息已保存),「服務器」位於EST中。該服務器是所有的邏輯判斷髮生了哪些用戶應通知等最好的比較不同時區之間時間的方法
什麼是對時間的一部分轉換隻爲比較的目的的最佳做法?
我現在的想法是採取由用戶設定的時間,說:「7:00 AM」,並創建一個完整的DateTime對象並存儲爲.ToUniversalTime()。在服務器上,我可以將DateTime對象轉換爲本地時間並僅比較時間部分。
沒有人有從別人誰也解決了類似的問題,一個「更好」的解決方案或可能有什麼建議?
謝謝!
最好的辦法是將其轉換爲UTC然後比較 –
我會說你是在正確的軌道上,但它是更好的做法,這樣做轉換爲UTC時間(而非本地時間),並與之比較的UTC時間。 – mayabelle
.ToUniversalTime()確實轉換爲GMT/UTC。不確定以前的評論點。我會轉換到服務器的本地時間,因爲這會簡化事情。 –