TimeZones 1.0.2 License Info
TimeZones 1.0.2
Biblioteca de Gestión de Zonas Horarias
Descripción
TimeZonesXS es una clase utilitaria para manejar conversiones entre zonas horarias y obtener información sobre offsets UTC. Proporciona métodos sencillos para trabajar con diferentes husos horarios en aplicaciones .NET.
Métodos Principales
GetTimeZones()
Propósito: Obtiene todas las zonas horarias disponibles en el sistema
Retorna: ReadOnlyCollection<TimeZoneInfo>
Descripción:
- Lista completa de zonas horarias configuradas en el sistema operativo
- Útil para mostrar opciones al usuario o para operaciones de selección
ConvertTimeZoneToAnother()
Propósito: Convierte una fecha/hora entre zonas horarias
Parámetros:
origin: DateTime originaldestination: Zona horaria destino (TimeZoneInfo)originOffset: Offset UTC de la zona horaria origen
Retorna: DateTimeOffset convertido
Descripción:
- Mantiene la precisión temporal considerando el offset original
- Usa
DateTimeOffsetpara preservar información de zona horaria
GetOffsetFromTimeZoneInfo()
Propósito: Obtiene el offset UTC para una zona horaria específica en un momento dado
Parámetros:
datetime: Fecha/hora de referenciazone: Zona horaria a evaluar
Retorna: TimeSpan con el offset UTC
Descripción:
- Considera cambios por horario de verano/invierno
- Útil para cálculos precisos de diferencias horarias
Características Clave
- Interfaz asíncrona: Todos los métodos retornan
Taskpara compatibilidad con patrones modernos - Precisión horaria: Maneja correctamente offsets y conversiones
- Basado en estándares: Utiliza los tipos
TimeZoneInfoyDateTimeOffsetde .NET - Sencillez: Abstraction simple sobre las APIs nativas de .NET
Ejemplo de Uso
var tzService = new TimeZonesXS();
// Obtener zonas disponibles
var zones = await tzService.GetTimeZones();
// Obtener offset actual para una zona
var offset = await tzService.GetOffsetFromTimeZoneInfo(DateTime.Now, TimeZoneInfo.Local);
// Convertir hora actual a otra zona
var convertedTime = await tzService.ConvertTimeZoneToAnother(
DateTime.Now,
TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time"),
offset);