2011-01-12 112 views
3

我開發了一個應用程序。在c#中,我應該將本地時間翻譯爲UTC,本地時間位於在我的應用程序中使用的時區。進入。我必須在.NET Framework 3.0中使用,所以不能使用TimeZoneInfo對象。在.NET框架3.0中將本地時間轉換爲UTC

有沒有人有idia我該怎麼辦?

應該在TimeZone對象中使用嗎?

謝謝

也許我做不到?

+4

請參閱 - http://stackoverflow.com/questions/2548235/convert-utc-datetime-to-another-time-zone或http://stackoverflow.com/questions/3439468/utc-to-users-local時間 - 並逆轉算法 – ChrisF 2011-01-12 12:45:39

+0

我不能在TimeZoneInfo對象中使用,因爲它在框架3.0中沒有。 – RRR 2011-01-12 13:02:06

+0

對不起 - 我誤讀了這一點。 – ChrisF 2011-01-12 13:03:27

回答

0
我每次時間存入一個數據庫

始終保存在UTC時間現在

myEntity.CreateDate = DateTime.UtcNow; 

,在3.0以下

使用該文件

http://pastebin.com/w20NRkuP

包含一個幫手,所以你可以列出所有時區,並有自己的價值觀。將它添加到你的數據庫或使用即時。

填寫一個下拉列表,並要求用戶選擇它自己的TimeZone,然後,只需將分鐘添加到您保存的UTC日期。

例如:

<asp:DropDownList ID="myDropDown" runat="server" /> 

然後

myDropDown.DataSource = Helper.ListAllTimeZones(); 
myDropDown.DataValueField = "UtcOffsetMinutes"; 
myDropDown.DataTextField = "DisplayName"; 

myDropDown.DataBind(); 

保存用戶的喜好時:

User.OffSet = (int)myDropDown.SelectedValue; 

希望它有助於


例如,sweetie.com做到這一點:

alt text

只是要求時區的用戶,並保存所有以UTC時間,那麼就加/減的時區。