2012-04-27 44 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