• ベストアンサー

日時計算について

質問させて頂きます。 開発環境はVC++6.0です。 (例) ーーー外部ファイルーーー 実行開始時間       2005/10/11 11:41:15 実行終了時間 2005/10/11 11:41:17 ーーーーーーーーーーーー 外部ファイルから、実行開始時間(2005/10/11 11:41:15)と実行終了時間(2005/10/11 11:41:17)を取得し差(秒単位)を求めたいのですが、どのような方法で求められるでしょうか? (CStringで取得まではできています。) MSDNなどを参考にdifftime()や、COleDateTimeSpanクラスを用いたのですが、駄目でした。 ヒントや参考になるホームページなどがありましたら 教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • e_watt
  • ベストアンサー率71% (25/35)
回答No.3

No.2さんの手順1.~2.は、sscanf()でやるとラクかも。 CString string; ... // これの取得はもうできているそうなので略 int y, m, d, hh, mm, ss; // 月と分の変数名がぶつからないように気をつけてね sscanf((LPCSTR)string, "%d/%d/%d %d:%d:%d", &y, &m, &d, &hh, &mm, &ss); CTime begin(y, m, d, hh, mm, ss); ...

ryou0607
質問者

お礼

sscanfを用いて行う事でできました。 ありがとうございます。

その他の回答 (2)

  • 8gold
  • ベストアンサー率58% (27/46)
回答No.2

あ、文字列から時刻を取り出さなきゃいけないのか…。失礼しました。 1.strtok関数を使って文字列を年月日時分秒に分解する。 2.それぞれをatoi関数等で数値に変換してCTimeに入れる。 3.CTimeとCTimeの差をCTimeSpanに入れる。 という手順でどうでしょうか。

参考URL:
http://www9.plala.or.jp/sgwr-t/lib/strtok.html
ryou0607
質問者

お礼

ありがとうございます。 なんとかできました。

  • 8gold
  • ベストアンサー率58% (27/46)
回答No.1

開始時間と終了時間をCTimeに入れ、その差をCTimeSpanに入れると良いでしょう。

関連するQ&A