0

私は小さな C#/ASP.NET プロジェクトに取り組んでおり、4 つまたは 5 つの異なるラベルを表示して、世界のさまざまな地域の時刻を表示します。

私はネット全体でこれに関するさまざまな質問やブログ投稿を調査してきましたが、経験豊富な開発者が問題なく記入できるいくつかの部分がまだ欠けています. 「TimeZoneInfo」、「ToLocalTime」、「GetUTCOffSet」などを読みましたが、私のような新しい人にとっては混乱しています。ここスタック オーバーフローで見たこの情報のほとんどを言わなければなりません。私が現在持っているものを示し、ここでアドバイスを得ることができるかどうかを確認したいと思います:

コードビハインド:

        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 つのラベルを更新する必要があります。

繰り返しますが、これについては多くのスレッドがあることを理解しています。これを読んでいる間、私はそれらを調査していますが、これまでのところ、構築する必要がある基本的な構造のいくつかが欠けています.

前もって感謝します。

4

1 に答える 1

1

DateTimeOffsetを使用してみてください

DateTimeOffset 構造体には、DateTime 値と、現在の DateTimeOffset インスタンスの日付と時刻と協定世界時 (UTC) との差を定義する Offset プロパティが含まれています。

于 2012-04-27T14:31:47.030 に答える