如何檢查特定時區是否屬於「DAYLIGHTTIMEZONE」或未使用C#asp.net?C#asp.net中的夏時制時區轉換
如果時區落在「DAYLIGHTTIMEZONE」下,我應該將時間更改爲標準時區嗎?
我會從用戶輸入時區(在Windows操作系統中列出的時區)並將其存儲在數據庫中,每當用戶登錄時,我將根據用戶選擇的時區顯示時間和日期。現在日光節約在這裏扮演什麼角色?如果特定時區屬於「日光節」,則是否應該進行更改。
如何檢查特定時區是否屬於「DAYLIGHTTIMEZONE」或未使用C#asp.net?C#asp.net中的夏時制時區轉換
如果時區落在「DAYLIGHTTIMEZONE」下,我應該將時間更改爲標準時區嗎?
我會從用戶輸入時區(在Windows操作系統中列出的時區)並將其存儲在數據庫中,每當用戶登錄時,我將根據用戶選擇的時區顯示時間和日期。現在日光節約在這裏扮演什麼角色?如果特定時區屬於「日光節」,則是否應該進行更改。
使用.NET 3.5中引入的TimeZoneInfo
類。
目前尚不清楚你的大目標是什麼,但基本上,應該覆蓋你想要做的任何事情,比如從一個時區轉換到另一個時區。它並不總是最簡單的類正確使用,部分原因是DateTime
類型的設計很糟糕,不幸的是:(
我工作(偶爾!)在一個新的日期和時間庫的.NET名爲Noda Time,但不幸的是,這不是好了嗎:(
編輯:好的,所以你的步驟應該是:
TimeZoneInfo
以適當的形式你想要的。最終將Id
存儲在數據庫中。FindSystemTimeZoneById
DateTimeOffset.UtcNow
TimeZoneInfo.ConvertTime
轉換到目標時區@Pranesh:對。編輯解釋如何做到這一點... – 2011-04-29 09:23:50
@Jon在一個答案兩個傷心的表情符號?聽起來像某人需要擁抱。 – bzlm 2011-04-29 09:24:06
@bzlm:在.NET中日期和時間的當前狀態確實讓我難過,是的... – 2011-04-29 09:27:35
我認爲你正在尋找TimeZone.IsDaylightSavingTime
不是沒有額外的努力 - 否則這將代表*服務器的*時區。時區有效地被棄用,以支持TimeZoneInfo。 – 2011-04-29 09:28:10
@Jon爲什麼要投票......我正在檢查2.0版本......在這個版本中有更好的東西嗎? – V4Vendetta 2011-04-29 09:32:46
是的,在Compact Framework中嘗試做到這一點,情況更糟。 – Sorcerer86pt 2011-04-29 09:34:07
http://msdn.microsoft.com/en-us/library/system.timezone.aspx – 2011-04-29 09:21:08
@Soner:只有當OP真的需要那些關心聲譽而不是關心幫助他人的人的答案時。這個問題寫得相當好,這對我來說已經足夠了...... – 2011-04-29 09:29:44