修正了跨天计时在一些情况下不归零的bug

This commit is contained in:
千嶂夹城 2025-05-26 14:47:32 +08:00
parent bb048120bf
commit f2a9423457

View File

@ -16,9 +16,8 @@ void saveData(){
FILE *fp = fopen("save.txt", "w"); FILE *fp = fopen("save.txt", "w");
if(fp!=NULL){ if(fp!=NULL){
time_t timeNow = time(0); time_t timeNow = time(0);
tm *curTime; tm *curTime = localtime(&timeNow);
if(curTime->tm_hour<4) curTime = localtime(&timeNow-86400); if(curTime->tm_hour<4) curTime = localtime(&timeNow-86400);
else curTime = localtime(&timeNow);
fprintf(fp, "%d %d %d %d", blackListTimeCount,curTime->tm_year,curTime->tm_mon,curTime->tm_mday); fprintf(fp, "%d %d %d %d", blackListTimeCount,curTime->tm_year,curTime->tm_mon,curTime->tm_mday);
fclose(fp); fclose(fp);
} }
@ -46,9 +45,8 @@ int main(){
int curYear,curMonth,curDay; int curYear,curMonth,curDay;
fscanf(fp, "%d%d%d%d", &blackListTimeCount,&curYear,&curMonth,&curDay); fscanf(fp, "%d%d%d%d", &blackListTimeCount,&curYear,&curMonth,&curDay);
time_t timeNow = time(0); time_t timeNow = time(0);
tm *curTime; tm *curTime = localtime(&timeNow);
if(curTime->tm_hour<4) curTime = localtime(&timeNow-86400); if(curTime->tm_hour<4) curTime = localtime(&timeNow-86400);
else curTime = localtime(&timeNow);
if(curTime->tm_year!=curYear||curTime->tm_mon!=curMonth||curTime->tm_mday!=curDay){ if(curTime->tm_year!=curYear||curTime->tm_mon!=curMonth||curTime->tm_mday!=curDay){
blackListTimeCount = 0; blackListTimeCount = 0;
} }