2012-01-24 9 views

Respuesta

18

Uso TimeZoneInfo:

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

'GetUtcOffset (...)' toma un parámetro, por lo que podría ser útil incluirlo en el ejemplo. Tales como ... 'TimeSpan utcOffset = TimeZoneInfo.Local.GetUtcOffset (DateTime.Now);' – jocull

7

Esto debería darle lo que necesita.

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

También usted puede encontrar la función .ToUniversalTime DateTime de uso.

+1

Creo que tienes los valores invertidos, deben ser (DateTime.Now - DateTime.UtcNow) .TotalMinutes; – dlchambers

0

Ver this MSDN artice para los detalles completos. El ejemplo de código al final del artículo proporciona código expresamente para obtener la diferencia entre la hora local y la hora UTC.

Para aquellos que no quieren hacer clic en el enlace aquí es un extracto de ese código:

// 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

Sin embargo, otra versión:

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()); 
Cuestiones relacionadas