[ad_1]
n usando la función GetDynamicTimeZoneInformation(&dtzi), y dentro de la estructura ‘dtzi’, le dice
le indicará si está en horario de verano o no y cuándo comenzará, a través de
estas dos fechas. El valor de retorno de esta función también le brinda la misma información.
Pero, ¿cómo puede alguien convertir estas fechas diurnas y/o fechas estándar?
estructuras en formatos legibles de fecha y hora locales. ¿Puedo preguntar cómo se hace esto en “C”? Sé que hay
Deben haber algunas conversiones, pero ¿cómo? Gracias de todos modos y por tu tiempo.
Lo que he probado:
el método de prueba y error. Usar ejemplos encontrados y luego aplicar la idea encontrada al problema. A veces no funciona del todo bien o no funciona en absoluto.
Solución 1
Estoy asumiendo aquí que estás hablando de convertir los dos SYSTEMTIME
estructuras en el DYNAMIC_TIME_ZONE_INFORMATION
objeto. Para lograr esto, creo que vas a comenzar por convertir el SYSTEMTIME
estructura a un archivo local de tiempo usando SystemTimeToLocalFileTime
función. Una vez que hayas hecho esto, utilizarás FileTimeToSystemTime
para convertir la hora del archivo local a una SYSTEMTIME
estructura que representa la fecha en hora local. Podría verse algo como esto:
SYSTEMTIME standardDate = timeZoneInfo.StandardDate; FILETIME localFileTime; SystemTimeToLocalFileTime(&standardDate, &localFileTime); SYSTEMTIME localStandardDate; FileTimeToSystemTime(&localFileTime, &localStandardDate); char dateString[20]; sprintf(dateString, "%d-%02d-%02dT%02d:%02d:%02dT", localStandardDate.wYear, localStandardDate.wMonth, localStandardDate.wDay, localStandardDate.wHour, localStandardDate.wMinute, localStandardDate.wSecond);
Tenga en cuenta que solo estoy creando este método en el editor aquí, por lo que tal vez haya uno o dos errores tipográficos aquí.
[ad_2]
コメント