2012-10-10 60 views
14

Soy nuevo en el servicio de sitios web de Azure. Cargué los archivos de mi sitio web y funciona muy bien.¿Cómo cambiar la zona horaria predeterminada en el servicio web azul?

Pero tengo un problema con la zona horaria predeterminada. Mi ubicación es Seúl (+9). Pero el código devuelve el tiempo UTC (+0) cuando llamo a continuación.

DateTime.Now; 

¿Hay alguna manera de resolver este problema sin una solución complicada como editar Web.config?

Respuesta

42

Ahora es posible cambiar la zona horaria del servidor para sus sitios web Azure/Aplicaciones Web.

Para hacer esto, agregue una configuración de aplicación (usando el portal) llamada "WEBSITE_TIME_ZONE" igual al nombre de la zona horaria en cuestión (básicamente la misma cadena que el nombre de la clave en HKLM \ Software \ Microsoft \ Windows Nt \ CurrentVersion \ Time Zones \).

+0

Genial. Lo intentaré, gracias! – Eddy

+0

Las mejores marcas para una solución que no requiere cambios de código. ¡Gracias! – cuzzlor

+0

Desafortunadamente, esto no funcionará para bases de datos en Azure. GetDate() en la base de datos mssql azure aún devuelve UTC con esta configuración. – MFasseur

12

No se recomienda cambiar TimeZone en máquinas virtuales Azure according to Microsoft. En lugar de convertir el tiempo a local usando la estructura methods of TimeZoneInfo.

Sin embargo, al menos se menciona una posible solución en el above mentioned post.

P.S. un ejemplo de solución proporcionada por autor en cuestión comentario a continuación:

DateTime timeUtc = DateTime.UtcNow; 
TimeZoneInfo kstZone = TimeZoneInfo.FindSystemTimeZoneById("Korea Standard Time"); 
DateTime kstTime = TimeZoneInfo.ConvertTimeFromUtc(timeUtc, kstZone); 
+0

DateTime timeUtc = DateTime.UtcNow; TimeZoneInfo kstZone = TimeZoneInfo.FindSystemTimeZoneById ("Hora estándar de Corea"); DateTime kstTime = TimeZoneInfo.ConvertTimeFromUtc (timeUtc, kstZone); – Eddy

Cuestiones relacionadas