ewrwvfbh 2019-10-04 12:04 采纳率: 0%
浏览 171

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

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;

}

  • 写回答

1条回答 默认 最新

  • threenewbee 2019-10-04 13:00
    关注
    #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

    我这里对的啊

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

    评论

报告相同问题?