Разница между типами time_t и struct tm в стандартной библиотеке C заключается в том, как они представляют дату и время. 14
Timet предназначен для представления календарного времени. 1 Это компактное представление, которое обычно даёт число секунд, истекающих начиная с некоторого основного времени. 1 В библиотеке GNU C и других POSIX-реализациях timet эквивалентен long int. 1
Struct tm используется для представления местного времени. 1 Дата и время представлены как набор компонентов, определяющих год, месяц и так далее, для специфического часового пояса. 1 Такое представление обычно используется вместе с форматированием значений даты и времени. 1
Таким образом, time_t больше подходит для внутреннего использования, а struct tm — для внешнего интерфейса. 2