计算不同时区的日期时间显示,用于世界时钟

本文关键字:显示 用于 世界 时钟 时间 日期 时区 计算 | 更新日期: 2023-09-27 18:32:31

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

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

提前谢谢你。

计算不同时区的日期时间显示,用于世界时钟

尝试使用 DateTimeOffset

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