[ad_1]
n en utilisant la fonction GetDynamicTimeZoneInformation(&dtzi), et dans la structure ‘dtzi’, il indique
vous indique si vous êtes à l’heure d’été ou non et quand ils commenceront, via
ces deux dates. La valeur de retour de cette fonction vous renseigne également sur les mêmes informations.
Mais comment quelqu’un procède-t-il pour convertir ces dates d’été et/ou date standard
structures en formulaires de date/heure locaux lisibles. Puis-je demander comment cela se fait en “C”. je sais là
il doit y avoir quelques conversions, mais comment ? Merci cependant et pour votre temps.
Ce que j’ai essayé :
la méthode des essais et des erreurs. Utiliser des exemples trouvés, puis appliquer l’idée trouvée au problème. Parfois, cela ne fonctionne pas très bien, voire pas du tout.
Solution 1
Je suppose ici que vous parlez de convertir les deux SYSTEMTIME
structures dans le DYNAMIC_TIME_ZONE_INFORMATION
objet. Pour ce faire, je pense que vous allez commencer par convertir le SYSTEMTIME
structure en un fichier local heure en utilisant SystemTimeToLocalFileTime
fonction. Une fois que vous aurez fait cela, vous utiliserez FileTimeToSystemTime
pour reconvertir l’heure du fichier local en SYSTEMTIME
structure représentant la date en heure locale. Cela pourrait ressembler à ceci :
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);
Remarque, je suis juste en train de créer cette méthode dans l’éditeur ici, donc il y a peut-être une ou deux fautes de frappe ici.
[ad_2]
コメント