为世界时钟计算不同时区的日期时间显示

时间:2012-04-27 14:27:54

标签: c# asp.net datetime

我正在开发一个小型的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个标签。

同样,我知道有很多关于此的帖子,当你读到这篇文章时我正在研究它们,但到目前为止,我仍然缺少一些我需要构建的基本结构。

提前谢谢。

1 个答案:

答案 0 :(得分:1)

尝试使用DateTimeOffset

DateTimeOffset结构包括DateTime值以及Offset属性,该属性定义当前DateTimeOffset实例的日期和时间与协调世界时(UTC)之间的差异。