2
프로젝트가 개발 중일 때 나는 최근 날짜를 확인하기 위해 두 날짜 사이의 차이점을 찾아야하며 괜찮 았지만 조금 버그를 발견했습니다.C의 차이 일수 1 일이 작동하지 않음
struct tm firstDate, secondDate;
firstDate.tm_hour = 0;
firstDate.tm_min = 0;
firstDate.tm_sec = 0;
firstDate.tm_mon = 5;
firstDate.tm_mday = 30;
firstDate.tm_year = 2016 - 1900; //difference between current year and 1900
secondDate.tm_hour = 0;
secondDate.tm_min = 0;
secondDate.tm_sec = 0;
secondDate.tm_mon = 6;
secondDate.tm_mday = 1;
secondDate.tm_year = 2016 - 1900;
time_t fDate = mktime(&firstDate); // 31/5/2016
time_t sDate = mktime(&secondDate); // 1/6/2016
int diff = (difftime(fDate, sDate));
printf("%d", diff/86400);
는 내가 좋아하는 월말의 날짜를 비교하려는 경우를 제외하고 모든 일에서 작동 (31/5/2016 :
날짜에 대한구조체 TM를 사용하여 메신저,이 코드입니다) 다음날 (1/6/2016), 그것은 0 일 반환하고 1 반환해야합니다.하지만 그것을 20/5/2015 변경할 경우 2 대신 1 일 반환합니다. 31 일 수 있습니다. 30 .. 그래서 그것은 몇 달 동안 작동하고 다른 사람들은 그것이 작동하지 않습니다 .. 사람이 이것을 과거 방법을 알고 있습니까? 내 나쁜 영어에 대한 사전 및 유감의
덕분에, 내 모국어
덕분에 남자 정말 감사. 내가 할 수있을 때 대답을 받아 들일거야. – jamez