我將數據存儲到MySql日期時間字段中,並且我始終在那裏保存C#的UTC日期(使用 someDate.ToUniversalTime())。UTC datetime轉換爲當地時間
我在中歐時區。
我有一個保存在2016年3月8日爲2016年4月7日16:00:00(事件在將來當時設定)和當地時間此事件的一個日期是2016年4月7日17:00:00,所以當時保存爲GMT + 1。我用someDate.ToLocalTime()獲得正確的本地時間,它運作良好。
今天(四月),因爲白天的事件,在三月底發生,我們有GMT + 2偏移現在someDate.ToLocalTime()展示箱多小時:2016年4月7日18:00 :00這是不正確的。
如何解決這個普遍? 我想保存UTC時間(與現在一樣),然後應用某些使用用戶當前時區的系統轉換,並始終從我保存的UTC日期(當前DayLightSaving狀態)中返回正確的本地時間。 它也應該返回2016-04-07 17:00:00而不是2016-04-07 18:00:00
使用'TIMESTAMP'而不是'DATETIME'然後設置'time_zone'會話變量,MySQL的將處理其餘的事情。 – eggyal
這是一個桌面應用程序,還是一個網絡應用程序?通常,只有桌面應用程序應該使用「ToLocalTime」和「ToUniversalTime」。 –