asp.net - visual - obtener fecha actual asp net c#
¿Cómo implementar la zona horaria en una aplicación web? (6)
Quiero implementar la zona horaria en mi aplicación web. Investigué y vi que la mayoría de las aplicaciones web usan un menú desplegable GMT, aquí está el enlace a ese menú desplegable http://www.attackwork.com/BlogEntry/6/Time-Zone-Dropdown-Select-List/Default.aspx
Luego vi este artículo sugiriendo que UTC es el camino a seguir cuando se trata de implementar la zona horaria. http://aspnet.4guysfromrolla.com/articles/081507-1.aspx Básicamente está diciendo que no use DateTime.Now en su lugar use DateTime.UtcNow
Mis preguntas son,
- ¿Hay un menú desplegable de las zonas horarias en UTC, como el primer enlace que mostré que hay uno en GMT?
- ¿Debería realmente usar UTC o GMT?
.NET 3.5 proporciona la clase TimeZoneInfo , lo que simplificaría la creación de un menú desplegable con zonas horarias. GMT llegó antes de que UTC y UTC se instituyeran oficialmente el 1 de enero de 1972. Consulte este enlace para obtener más información. Para los propósitos de hoy, los dos son más o menos sinónimos, aunque tienen orígenes históricos diferentes. Use el que se vea y funcione mejor para sus propósitos.
GMT (Greenwich Mean Time) es lo mismo que UTC (Universal Coordinated Time). Esta no es una opción cualquiera, úsala :)
La distinción entre UTC y GMT probablemente sea demasiado buena para molestarla en su código. Sin embargo, probablemente sea una buena idea guardar y procesar los tiempos internamente con un desfase de zona horaria cero y tratarlo como un problema de presentación.
También es posible usar JavaScript para determinar la zona horaria probable del usuario: examine los desplazamientos de la zona horaria para un par de objetos Date
razonablemente cercanos a los solsticios (incluso el 1 de enero y el 1 de julio hacen una aproximación adecuada) para obtener una identificación de zona horaria aproximada. Siéntase libre de usar esta información para determinar una zona horaria predeterminada, pero permita que el usuario la modifique: JavaScript no proporciona detalles suficientes para seleccionar la zona horaria exacta con los cambios históricos nacionales y regionales, y puede que no esté habilitada por el usuario de todos modos.
No estoy seguro de si esto es lo que pretendía hacer, pero en su base de datos siempre debe almacenar las marcas de tiempo en UTC / GMT (como notaron otros significan esencialmente lo mismo). Para cada usuario de su aplicación web, almacene la preferencia de zona horaria.
Luego, cada vez que muestre la marca de tiempo para algo a un usuario, convierta la hora UTC en la base de datos a la zona horaria del usuario.
Si no está ejecutando SQL Server 2008 o no desea abstraer la administración de la zona horaria a la base de datos, debe almacenar todas las veces como UTC / GMT y aplicar la diferencia de zona horaria basada en la configuración del perfil del usuario, para que los usuarios de todo el mundo puede ver las marcas de tiempo de los eventos en su hora local.
Use la configuración, funciones y características de localización en cualquier lugar posible.