C言語関係掲示板

過去ログ

No741 msec単位でのシステム日付の取得

[戻る] [ホームページ]
No.9220

システム日付の取得
投稿者---kazu(2003/09/06 00:47:47)


C言語初心者です。
C言語で、msec単位でのシステム日付は取得できるのでしょうか。
一応、秒単位までは取得できるのですが。

No.9221

Re:システム日付の取得
投稿者---YuO(2003/09/06 05:03:20)


>C言語で、msec単位でのシステム日付は取得できるのでしょうか。
>一応、秒単位までは取得できるのですが。

移植性のある方法では不可能です。
OSによっては,その為の方法を提供してくれているかもしれません。


No.9233

Re:システム日付の取得
投稿者---ひかる1977(2003/09/08 14:54:24)


OSが何か不明ですが、
UNIXなら、この方法で取得できます。
マイクロ秒までの時間が取得できます。

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

void main(void)
{
    char                date_c[9];      /* 日付                               */
    char                time_c[9];      /* 時刻                               */

    struct timeval   tv_t;
    struct timezone  tz_t;
    struct tm       *tm_p;

    (void)memset( date_c,     NULL, sizeof(date_c) );
    (void)memset( time_c,     NULL, sizeof(time_c) );

    (void)gettimeofday( &tv_t, &tz_t );
    tm_p = (struct tm *)localtime( (time_t *)&tv_t.tv_sec );
                                        /* 日付/時刻取得                      */
    (void)printf( "%04d%02d%02d-%02d%02d%02d.%06d\n",
                   tm_p->tm_year+1900, tm_p->tm_mon+1, tm_p->tm_mday,
                   tm_p->tm_hour,      tm_p->tm_min,   tm_p->tm_sec,
                   tv_t.tv_usec );
    return;

}