4 bajtowy odpowiednik time_t

0

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

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ć.

1 użytkowników online, w tym zalogowanych: 0, gości: 1