Ich möchte einen 64bit-Zeitstempel (in us) in einen Datumsstring umwandeln, um das Systemdatum über den Systembefehl "date" zu setzen. Ich habe diese Lösung gefunden/implementiert:
char loc_ach_buf[25];
uint64_t loc_ui64_TimeStamp_us;
time_t loc_t_TimeStamp_s;
...
loc_t_TimeStamp_s = loc_ui64_TimeStamp_us / 1000000;
strftime(loc_ach_buf, sizeof(loc_ach_buf), "date %Y%m%d%H%M.%S", gmtime(&loc_t_TimeStamp_s));
system(loc_ach_buf);
Dies funktioniert gut, aber mein Problem ist, dass time_t ist ein 32bit Wert auf meinem System und so wird es Probleme geben Jahr 2038 Problem . Hat jemand eine Idee, wie man das Problem lösen kann? Oder gibt es Alternativen zu strftime.