1

UTC時刻を現地時間に変更するにはどうすればよいですか。

私はこのコードを持っています、

DateTime dt = booking.CreateDateTime.Value;

ここで、CreationDateTimeはUTCの形式です。

クライアント側で時刻を現地時間に変更すると、現地時間より7時間速くなります。

どんな体もこれについての考えを持っています。

これが私が現地時間に変更する方法です。

var localTime = TimeZone.CurrentTimeZone.ToLocalTime(dt);

予約時に、日時のサーバーサイドコードは

booking.CreateDateTime = DateTime.UtcNow;
4

2 に答える 2

0

.net は、日付が現地時間であると想定しているようです。次のコードでは、dt1 と dt3 はどちらも dt と同じです。1 つの解決策は、TimeZone.CurrentTimeZone.GetUtcOffset を使用して自分で計算することです。

dt = Now
dt1 = TimeZone.CurrentTimeZone.ToLocalTime(dt)
dt2 = TimeZone.CurrentTimeZone.ToUniversalTime(dt)
dt3 = dt.ToLocalTime
dt4 = dt.ToUniversalTime
于 2012-11-03T17:56:46.950 に答える
0

実際には、間違っている可能性があるのは次の 2 つだけです。

  1. UTC 日付は実際には UTC ではありません。

  2. これが実行されているマシンは、正しいタイム ゾーンに設定されていません。

于 2012-11-03T17:33:11.783 に答える