C++ mktime changes value of my tm_struct

浪子不回头ぞ 提交于 2019-12-11 10:59:38

问题


I read bMonth from user;

time_t timestamp = time(NULL);
tm* birthday = localtime(&timestamp);

birthday->tm_mon = bMonth-1;

// now the tm_mon is set corectly

time_t birthStamp = mktime(birthday);

// now the tm_mon is 0

Why mktime changes the values?


回答1:


mktime

A call to this function automatically adjusts the values of the members of timeptr if they are off-range or -in the case of tm_wday and tm_yday- if they have values that do not match the date described by the other members.



来源:https://stackoverflow.com/questions/19375113/c-mktime-changes-value-of-my-tm-struct

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!