UTC补偿以分钟为单位

时间:2012-01-24 20:28:41

标签: c# .net

如何以分钟为单位(以C#为单位)获取本地时间和UTC时间之间的差异?

6 个答案:

答案 0 :(得分:22)

使用TimeZoneInfo

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

答案 1 :(得分:7)

这应该可以满足您的需求。

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

您也可以找到.ToUniversalTime DateTime函数。

答案 2 :(得分:6)

又一个版本:

DateTimeOffset.Now.Offset.TotalMinutes

答案 3 :(得分:1)

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

答案 4 :(得分: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);

答案 5 :(得分: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());