2012-04-27 119 views
0

我正在研究一個小型的C#/ ASP.NET項目,該項目將顯示4個或5個不同的標籤以顯示它在世界不同地區的時間。爲世界時鐘計算不同時區的日期時間顯示

我一直在研究噸關於這個跨網不同的問題和博客文章,但我還缺幾件較有經驗的開發人員可以在沒有問題填滿。我已經閱讀了諸如「TimeZoneInfo」,「ToLocalTime」和「GetUTCOffSet」之類的東西,並且對於像我這樣新的人來說,它變得混亂。我必須說的大部分信息我都在Stack Overflow上看過。我想展示一下我目前看,如果我能在這裏得到一些建議:

後面的代碼:

 protected void Timer1_Tick(object sender, EventArgs e) 
    { 
     string militaryTime = ("HH:mm:ss tt"); 
     lblTimer1.Text = DateTime.Now.ToString(militaryTime); 
    } 

標記在.aspx頁面上:

 <asp:Timer ID="Timer1" runat="server" OnTick="Timer1_Tick" Interval="1000"> 
       </asp:Timer> 
       <h4 style="width: 200px"> 
        Local :&nbsp;<asp:Label ID="lblTimer1" runat="server"></asp:Label> 
       </h4> 

現在,我知道這可能會更有意義,在Javascript中做客戶端,但這個任務也是一個學習工具,如何在沒有JS的情況下在C#中做到這一點。

無論如何,我無法弄清楚如何爲以下4個標籤顯示不同的時區。我希望它能夠使用DateTimeNow,因爲在任何時區都可以在世界任何地方看到它,並且應該根據與這些城市相關的用戶時區更新代表不同世界城市的其他4個標籤。

同樣,我知道有很多線程在那裏關於這個的,而且當你讀到這,我研究他們,但到目前爲止,我仍然缺少一些基本的結構,我需要建立的。

預先感謝您。

+2

哪裏有jon雙向飛碟? – 2012-04-27 14:30:24

+0

您應該查看['DateTimeOffset'](http://msdn.microsoft.com/zh-cn/library/system.datetimeoffset.aspx)結構和[noda-time](http://代碼.google.com/p/noda-time /)項目。 – Oded 2012-04-27 14:31:35

+0

@ DanielA.White哈哈哈他必須在其他部門忙碌。總得愛那個人:) – 2012-04-27 14:33:44

回答

1

嘗試使用DateTimeOffset

所述的DateTimeOffset結構包括日期時間值,具有偏移的屬性,定義了當前的DateTimeOffset實例的日期和時間和通用協調時間(UTC)之間的差值在一起。

+0

謝謝你的建議Likurg! – 2012-04-27 18:23:28