日付値を UTC 形式で SQL Server DB に保存してから、それらを現地時間に変換して表示しようとしていますが、正常に動作しているようです。保存されている DB 日付値が異なることがわかります (既に UTC に変換されていると思います)。 、それを取得し、表示も正確であり、日付と時刻オプション(タスクバーのWindows時刻設定の右下)で変更して別のタイムゾーンをテストして、自分自身を「移行」しようとするまで正確です。どうやら、私が変更したタイムゾーンには3時間の違いがありますが、私は自分の国にいるので、日付はまだ残っているようです.
別のタイムゾーンで日付表示をテストする方法についてアドバイスをいただけますか?
ありがとう。
日付値を SQL Server に保存する:
DateTime dateFrom = DateTime.Parse(startDateTime).ToUniversalTime();
DateTime dateTo = DateTime.Parse(endDateTime).ToUniversalTime();
parameters.Add(new SqlParameter("@StartDateTime", dateFrom));
parameters.Add(new SqlParameter("@EndDateTime", dateTo));
DB から取得して表示:
DateTime date = DateTime.UtcNow.ToLocalTime();
date = DateTime.Parse(dr["StartDateTime"].ToString()).ToLocalTime();
litDateTimeFrom.Text = date.ToString("dd MMM yy hh:mm tt");
date = DateTime.Parse(dr["EndDateTime"].ToString()).ToLocalTime();
litDateTimeTo.Text = date.ToString("dd MMM yy hh:mm tt");