麻烦大佬们看下此段代码问题,我要通过今天获得昨天的日期,但是偶现获得的日期不对

int get_yesterday()
{
time_t now = time(NULL);
struct tm *cur = localtime(&now);
cur->tm_mday -= 1;
mktime(cur);

int yesterday = (cur->tm_year + 1900) * 10000 + (cur->tm_mon + 1) * 100 + cur->tm_mday;
return yesterday;

}

#include <stdio.h>
#include <time.h>

int get_yesterday()
 {
 time_t now = time(NULL);
 struct tm *cur = localtime(&now);
 cur->tm_mday -= 1;
 mktime(cur);
int yesterday = (cur->tm_year + 1900) * 10000 + (cur->tm_mon + 1) * 100 + cur->tm_mday;
return yesterday;


}


int main () {
    printf("%d",  get_yesterday());
    return 0;
}

20191003

我这里对的啊

你是不是时区设置得不对?