UTC のデータベースに日時が保存される Web アプリケーションに取り組んでいます。ここで、UI に表示する日時を取得するときに、ユーザーがアプリケーションを使用している場所から日時を特定の時間に変換する必要があります。
UTC から特定の現地時間に時刻を変換するために、私はいくつかのデモ調査を行っていました。時間を変換する2つの方法を見つけました。1 つはサーバー側からのもので、もう 1 つはクライアント側からのものです。サーバー側では ASP.NET を使用し、クライアント側では JavaScript を使用しています。しかし問題は、答えが同じではないということです。
コードをあげています。
サーバ側:
Label1.Text = TimeZone.CurrentTimeZone.GetUtcOffset(DateTime.Now).ToString();
クライアント側:
$(document).ready(function () {
var offset = new Date().getTimezoneOffset();
$('#Label1').text(offset / 60);
});
サーバー側コードの場合、ラベルに 05:30:00 が表示されています。クライアント側コードの場合、ラベルに -5.5 が表示されています。
私の質問は、なぜこの 2 つの UTC オフセットが同じではないのですか??