1. 程式人生 > >localtime 2次連續呼叫問題

localtime 2次連續呼叫問題

localtime函式返回的地址是一個靜態變數的地址,每次都是一樣的。

也就是第二次呼叫,會把第一呼叫時的值擦除,寫入第二次的值。

所以每次呼叫的時候都要把需要的資料先存起來,然後再呼叫下一個localtime函式

tm *t_now = localtime(&now);
int now_day = t_now->tm_yday;

tm *t_last = localtime(&last);
int last_day = t_last->tm_yday;

以上是把我於需要的時間天數先存起來了。

如果不存:

tm *t_now = localtime(&now);
tm *t_last = localtime(&last);

int now_day = t_now->tm_yday;
int last_day = t_last->tm_yday;

now_day 和las_day時間永遠會一樣