c mktime возвращает неправильные значения для wday и yday

Я пытался использовать mktime, чтобы узнать, какой день недели для какой-либо даты, которую я использую. Но он продолжает возвращать неправильные значения для wday и yday. Мне плевать на день, но я не уверен, в чем проблема. Я просматривал код несколько раз, искал в Интернете и т. Д., И, наконец, у меня закончились идеи о том, что я могу делать неправильно.

Вот картинка кода и значений после вызова mktime. Если бы кто-то мог помочь мне, я был бы благодарен.

Спасибо

введите описание изображения здесь

2 ответа

Решение

Согласно документации, tm_mon поле основано на 0, поэтому 1 фактически февраль.

tm_mday поле, однако, на основе 1. Раздражает, что они разные.

int tm_mon;         /* month, range 0 to 11             */

Значение 1 стоит на февраль нужно поменять на 0,

Другие вопросы по тегам