Because what time_t
etc contains are implementation-defined, there is nothing saying that they should contain a number of seconds as an integer, like the comment in your code implies. The reason is that they want these types to be portable between different systems.
In practice, time.h
is indeed rather cumbersome, so most of the time programs end up calling system-specific functions instead.