time_tと現在時間の比較 – プログラミング – Home

通知
すべてクリア

[解決済] time_tと現在時間の比較


サガ
 サガ
(@サガ)
ゲスト
結合: 22年前
投稿: 13
Topic starter  

こんばんわ
またまた質問させていただきます。

時間の比較をしたいのですが、現在時刻とtime_t型でもらった
値を比較したいのですが、うまくいきません。

どなたかアドバイス宜しくお願いします。

環境としては、
自PC:WinNT
開発環境:VC++6.0 SP5
です。


引用未解決
トピックタグ
tib
 tib
(@tib)
ゲスト
結合: 23年前
投稿: 468
 

difftime()は使われましたか?


返信引用
zeta
 zeta
(@zeta)
ゲスト
結合: 22年前
投稿: 20
 

ご質問の意図がいまひとつわからないのですが、
現在時刻をtime_t型で取得して、もらったtime_t型と比較するだけです。
現在時刻のtime_t型はtime()で取得できます。

C++のすばらしさを知りつつも、ついついCに走ってしまうのですが・・(^^;

#include <time.h>

void foo( time_t obj )
{
time_t now;
 time( &now );
if( now == obj ){
// obj は現在時刻と同時刻
}
else if( now < obj ){
// obj は現在時刻より未来
}
else {
// obj は現在時刻より過去
}
}

こんな感じでどうでしょうか?
ヘルプを「時間管理」で検索すれば時間に関連した関数が
たくさん見つかると思うので確認してみてください。


返信引用
サガ
 サガ
(@サガ)
ゲスト
結合: 22年前
投稿: 13
Topic starter  

ありがとうございます。
うまくいきました。

ついでにもうひとつ質問させてください。
現在時刻をasctime()を使って表示させたいのですが、

宜しくお願いします。


返信引用
tib
 tib
(@tib)
ゲスト
結合: 23年前
投稿: 468
 

MSDNより引用。

プログラム例

/* ASCTIME.C: システム時刻を long int 型の aclock に代入し、
* これを newtime 構造体に変換してから、asctime 関数を使って
* 出力用の文字列形式に変換します。
*/

#include <time.h>
#include <stdio.h>

struct tm *newtime;
time_t aclock;

void main( void )
{
time( &aclock ); /* 秒単位で時刻を取得 */

newtime = localtime( &aclock ); /* 時刻を tm 構造体形式に変換 */

/* 現地時刻を文字列で印字 */
printf( 現在の日付と時刻: %s\n, asctime( newtime ) );
}
出力

現在の日付と時刻: Sun Oct 29 19:58:13 1995


返信引用
サガ
 サガ
(@サガ)
ゲスト
結合: 22年前
投稿: 13
Topic starter  

うまくいきました。
本当に有難うございました。

これからも宜しくお願いします。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました