У меня есть несколько программ, которые пишут nohup-файлы с отметками даты. Когда программы запускаются в терминале и печатаются на экране, дата показывает правильное местное время. Однако, когда программы запускаются из загрузки с помощью команды nohup и вывод отправляется в файл, время всегда находится в UTC.Локальное время возвращается к UTC в nohup-файле
time_t curtime;
time(&curtime);
//Printed to nohup.out (processlog.txt)
printf("Application Started %s", ctime(&curtime));
Я пробовал localtime() и strftime(), и результаты совпадают.
Возможно, я использовал бы ручную компенсацию. Я попытался использовать простое смещение tm_hour, но это не сработает, когда время UTC перейдет на следующий день.
Любые предложения?