2012-01-24 63 views

回答

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()); 
相关问题