2012-01-24 6 views
11

ローカル時刻とUTC時刻の差を(C#の)分で得る方法を教えてください。UTCオフセット(分)

ありがとうございました。

答えて

18

使用TimeZoneInfo

TimeSpan delta = TimeZoneInfo.Local.GetUtcOffset(); 
double utcMinuteOffset = delta.TotalMinutes; 
+7

'GetUtcOffset(...)'はパラメータを取るので、例の中にそれを含めると役に立つかもしれません。このような... 'TimeSpan utcOffset = TimeZoneInfo.Local.GetUtcOffset(DateTime.Now);' – jocull

7

これは必要なものを提供するはずです。

(DateTime.UtcNow - DateTime.Now).TotalMinutes; 

また、.ToUniversalTime DateTime機能が使用されていることがあります。

+1

私はあなたが持っていると思います値を逆にする必要があります(DateTime.Now - DateTime.UtcNow).TotalMinutes; – dlchambers

0

は、完全な詳細については、this MSDN articeを参照してください。 資料の最後にあるコードサンプルは、ローカルとUTCの時刻の差を取得するためのコードを明示しています。

こちらのリンクをクリックしたくないという人のために

はそのコードからの抜粋です:

// Find difference between Date.Now and Date.UtcNow 
    date1 = DateTime.Now; 
    date2 = DateTime.UtcNow; 
    difference = date1 - date2; 
    Console.WriteLine("{0} - {1} = {2}", date1, date2, difference); 
1
Response.Write((DateTime.Now - DateTime.UtcNow).TotalMinutes); 
5

さらに別バージョン:

DateTimeOffset.Now.Offset.TotalMinutes 
0
DateTime localDt = DateTime.Now; 
DateTime utcDt = DateTime.UtcNow; 
TimeSpan localUtcDiff = utcDt.Subtract(localDt); 
Console.WriteLine("The difference in minutes between local time and UTC time is " + localUtcDiff.TotalMinutes.ToString()); 
関連する問題