¿Cómo puedo obtener la diferencia entre la hora local y la hora UTC en minutos (en C#).Desplazamiento UTC en minutos
Gracias.
¿Cómo puedo obtener la diferencia entre la hora local y la hora UTC en minutos (en C#).Desplazamiento UTC en minutos
Gracias.
Uso TimeZoneInfo
:
TimeSpan delta = TimeZoneInfo.Local.GetUtcOffset();
double utcMinuteOffset = delta.TotalMinutes;
Esto debería darle lo que necesita.
(DateTime.UtcNow - DateTime.Now).TotalMinutes;
También usted puede encontrar la función .ToUniversalTime
DateTime de uso.
Creo que tienes los valores invertidos, deben ser (DateTime.Now - DateTime.UtcNow) .TotalMinutes; – dlchambers
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);
Response.Write((DateTime.Now - DateTime.UtcNow).TotalMinutes);
Sin embargo, otra versión:
DateTimeOffset.Now.Offset.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());
'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