Czy orientuje się ktoś czy jest jakiś 4 bajtowy odpowiednik zmiennej time_t, której celem byłoby przechowanie daty z dokładnością do 1 sekundy i łatwą możliwością odczytania co to za data?
Osobiście korzystam z VS Community 2015 i tu ta zmienna ma 8 bajtów. Z pewnych względów chciałbym ją ograniczyć do 4.
Mogę oczywiście użyć zmiennej typu unsigned, ale zastanawiam się jak wówczas odczytywać datę ze zmiennej...
0
0
time_t
jest zmienną ze znakiem. unsigned
nie ma stałej wielkości. Jeśli chcesz mieć gwarantowane 32bity to użyj int32_t
- przez najbliższe 22 lata i tak będziesz się w niej mieścił.
Ale szczerze mówiąc cały pomysł nie brzmi zbyt dobrze.
0
Jak napisano wyżej, zmienna z dokładnością do sekundy wyczerpie się w roku 2038: https://pl.wikipedia.org/wiki/Czas_uniksowy
Możesz ten limit przesunąć jeśli założysz że data nie może być wcześniejsza od pewnej daty początkowej większej od 1970, np. 2015.
Wtedy zyskujesz dodatkowe 45 lat, co na oprogramowanie z reguły wystarcza.
Wtedy:
data-do-zapisu = data-systemowa - 2015
data-na-ekran = data-zapisana + 2015
3
Z pewnych względów chciałbym ją ograniczyć do 4.
Względy te należy odrzucić.