UTC补偿以分钟为单位

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

使用TimeZoneInfo

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

这应该给你你需要的东西。

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

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

又一个版本:

 DateTimeOffset.Now.Offset.TotalMinutes 
 Response.Write((DateTime.Now - DateTime.UtcNow).TotalMinutes); 
 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()); 

有关完整详细信息,请参阅此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);