[閒聊] 循環判斷時間
這個其實方法很多,個人算比較懶的那種,不想用 time()%n 的
方式,我大概會用底下的方法..
int t=time(),n1,n2,n3,n4,n5;
string str,s1,s2;
str=format_time(t); // 先讀取格式化時間
// Sat Jun 25 21:07:10 2011
// 從上面格式就可以做如下的分解
sscanf(str,"%s %s %d %d:%d:%d %d",s1,s2,n1,n2,n3,n4,n5);
假設我們希望在「每個星期六的晚上九點啟動什麼」,然後在
「每個星期六的晚上十一點時把它關閉掉」,可以這樣寫..
if(start!=1 && s1=="Sat" && n2=="21")
{
start==1;
start_event();
}
if(start==1 && s1=="Sat" && n2=="23")
{
start=0;
close_event();
}
然後再把上面的東西套入 weather_d.c 的循環判斷裡即可。
提這個的用意,是有打算釋出 weather_d.c 的循環判斷,來給
各 wiz 依據自己的需要使用,目前 weather_d.c 有兩種周期
時間..
1. 每 240 秒一次
2. 每 360 秒一次
以上面為例,實際上雖然說九點開,但也可以最晚九點06分開
的意思(不必追求很準確說一定要 21:00)。
不過上面的 sscanf 是屬於較不嚴謹的寫法,實際上有較嚴謹
的寫法在,各位可研究一下,字串拆解的方式很多,依我個人
的經驗,依據不同的情況使用不同的方法是 coding 的常態。
Belldandy.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.253.166.13
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章
21
49