• ベストアンサー

現在時刻の表示について

MFC(VC++6.0)でプログラムを製作しています。超初心者です。みなさんには簡単なことなのかも知れませんが、私には分かりません。 現在時刻の「取得」「表示」についてわかりません。 ご存知の方、ご教授願います。

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

Windowsとかに限定しない Cの範囲でやるとしたら こんな感じ #include <stdio.h> #include <time.h> void main(void){ time_t now; time(&now); /* 現在時刻の取得 */ /* Fri Dec 17 17:57:14 2004 の様な形式で表示 */ fprintf(stdout,"%s\n",ctime(&now)); }

6-e
質問者

お礼

早速の回答ありがとうございます。これを参考にがんばってみます。

その他の回答 (2)

回答No.3

参考まで、いろんなやりかた。。。 #include <stdio.h> #include <time.h> int main(void){ time_t now; struct tm *ltm; char *wday[]={"日","月","火","水","木","金","土"}; /* 曜日表示用 */ char s[256]; /* strftime関数用 */ /* 取得 */ if (time(&now) == (time_t)-1) { printf("時刻取得できませんでした\n"); return -1; } ltm=localtime(&now); /* 表示 ctime関数 */ printf("%s",ctime(&now)); /* 表示 tm構造体 */ printf("%4d年%2d月%2d日",1900+ltm->tm_year, 1+ltm->tm_mon, ltm->tm_mday); printf("(%s)",wday[ltm->tm_wday]); printf("%2d時%2d分%2d秒\n", ltm->tm_hour, ltm->tm_min, ltm->tm_sec); /* 表示 asctime関数 */ printf("%s",asctime(ltm)); /* 表示 strftime関数 */ strftime(s,sizeof(s),"%c",ltm); printf("%s",s); return 0; }

6-e
質問者

お礼

詳しい説明ありがとうございます。こういうやり方もあるんですね。

  • 405
  • ベストアンサー率50% (17/34)
回答No.2

MFCならCTimeクラスを使えば良いと思います。 例) // 現在時刻の取得 CTime t=CTime::GetCurrentTime(); // tの表示 CString s=t.Format( "%Y/%m/%d %H:%M" ); AfxMessageBox(s);

6-e
質問者

お礼

おー。なるほど!さっそくやってみます。

関連するQ&A

専門家に質問してみよう