Necesito poder saber cuál es la compensación de zona horaria para el dispositivo que ejecuta mi aplicación en minutos. Por ejemplo, para la hora estándar del Pacífico (donde estoy probando), necesito obtener el int -480. Ejemplos (que no podría obtener de mi ubicación actual, pero para darle una idea de lo que necesito) en Afganistán obtendría 270 y el Reino Unido es donde obtendría 0.¿Cómo obtengo el desplazamiento de la zona horaria en minutos en WP7?
Mis mejores intentos para todo momento han regresado 0 en su lugar, que es el valor incorrecto:
int timezoneOffsetInMinutes = (DateTime.Now.ToLocalTime() - DateTime.Now).Minutes// returns 0 instead of the expected -480
y
int timezoneOffsetInMinutes = TimeZoneInfo.Utc.BaseUtcOffset.Minutes - TimeZoneInfo.Local.BaseUtcOffset.Minutes;// also returns 0, not -480
no estaba segura de si this post estaba pidiendo la misma pregunta (como se indica ningún código de ejemplo compensaciones o ejemplo), pero la única respuesta que se da allí definitivamente no está relacionada con wha Estoy buscando.
Esto es progreso: obtengo el valor 56 (no 0, por primera vez). ¿Qué es lo que no entiendo acerca de UTC que no estoy obteniendo lo que espero? Mi dispositivo y el emulador están configurados para PST y ambos obtienen los mismos valores – Subcreation
Ok, veo que lo que necesitaba era diff.TotalMinutes (en lugar de solo diff.Minutes). Todavía obtengo un valor de descuento (-419.999999 en lugar de los -480 que esperaba). Si alguien puede decirme qué está pasando aquí, lo agradecería. Realmente no tiene sentido tener una compensación de zona horaria que no coincida con lo que se muestra en el reloj, es decir, nadie en la costa oeste tiene un reloj configurado a 6.99 horas por detrás de la hora de Greenwich. Tal vez este es un producto del horario de verano? – Subcreation