初日 最新 目次 MAIL HOME


*-- To Tell The Truth --*
Cruz
MAIL
HOME

My追加

2001年07月11日(水)
delicious blood

家で蚊に食われた。
社内でも蚊に食われた。(たぶん蚊)
痒くて困る。

本日、初めてリリースバージョンを作ってみる。
今までテストしていたのはデバッグバージョン。
リリースバージョンにしたとたん、日付計算で誤動作。

本日から遡って7日前の日付までを取得するのだが、
月変わりとかで日付にマイナス値を入れてmktimeをやったら
変な値が返ってくるので手動mktimeになっていた。
そうしたら、1回目は誤動作し2回目以降はちゃんと計算できている。
そこでやっぱり全面的にmktimeを信用し、時間もダミーで入力したら・・・
できた。

デバッグバージョンでは、手動mktimeでもちゃんと動いていたのになぁ。
時間までちゃんと設定しておく・・・ってのは意外と盲点?!

・・・で、こんなかんじ。

 time_t ct = time(NULL);
 struct tm *filedate = localtime(&ct);
 struct tm old_date;

 old_date.tm_year = filedate->tm_year;
 old_date.tm_mon = filedate->tm_mon;
 old_date.tm_mday = filedate->tm_mday - iFcount;
 old_date.tm_hour = old_date.tm_min = old_date.tm_sec = 0;
 old_date.tm_isdst = -1;

 if(mktime(&old_date) == -1)
  T_Log.TraceLog(T_LEVEL4, __FILE__, __LINE__, "日付計算エラー\n");

はぁー、やれやれ。