Di seguito una lista dei formati che si possono incontrare durante la programmazione:
- DT (dateTime), abbreviato Dt
E' un codificazione in stringa della data e ora usato di default all'interno delle tabelle. E' una stringa con data e ora separate da un underscore nel formato "yyyymmdd_hhmmss".
- EH_TIME (EasyHand), abbreviato Eht
E' un formato struttura con cui lavorano le funzioni di easyhand per eseguire i calcoli. Contiene la data e l'ora, giorno dell'anno, della settimana, utc (locale) , dst (daylight) e bias di spostamento per ottenere il GMT.
- TIME64 (time_t), abbreviato T64
E' il formato è il più veloce da confrontare le date perché di fatto è un intero a 64bit. E' un numero intero a 64bit.
Nei sistemi operativi Unix e Unix-like il tempo viene rappresentato come offset in secondi rispetto alla mezzanotte (UTC) del 1º gennaio 1970 (detta Epoca).
E' uno standard ISO C e corrisponde alla struttura time_t ma a 64 bit (ormai dovrebbe essere di default).
La versione a 32 bit avrà un problema nel 2038.
Referenza Microsoft
http://en.wikipedia.org/wiki/Time_t
- struct TM (ANSI), abbreviato Tm
Formato standard ANSI del tempo di sistema. Contiene tutte le parti del tempo, e nessun riferimento UTC/GMT.
- SYSTEMTIME (Windows) , abbreviato St
Formato Windows del tempo di sistema.
- FILETIME (Windows) , abbreviato Ft
Formato Windows del tempo usato con i files.
Premessa
Tutte le funzioni lavorano con la stessa sintassi e con una logica tipo
strcpy :
- pDestinazione time[SorgenteTipo]to[DestinazioneTipo](* pDestinazione, * pSorgente)
In questo modo possono essere annidate tra di loro in caso di più conversioni
Esempio
CHAR * timeT64ToDt(CHAR * psDtDest, TIME64 iTime64) { // time64 > Eht
EH_TIME time;
return timeEhtToDt(psDtDest,timeT64ToEht(&time,iTime64));
}