Структуру struct tm перевожу в time_t функцией mktime, которая при некорректных значениях должна возвращать -1. Но в моем случае такого не происходит, то есть даже если я укажу tm_mday = 32 то mktime не вернет -1, а вернет количество секунд но уже от первого числа следующего месяца, если перевести секунды в человеческий вид.