C言語 標準関数 | 応用 | サンプル

標準関数
構文
応用

管理人

プライバシーポリシー


書式

#include <time.h>

time_t time( time_t *timr );

■戻り値:
1970/1/1 00:00:00 から現在までの経過秒数を返す。エラー時は-1を返す。time_t型はlong型と同じである。
尚、timrにも同じ値が設定される。

関連関数
説明

グリニッチ標準時(GMT)で1970/1/1 00:00:00 から現在までの経過秒数を返す。引数timrにも同じ値が設定される。
エラー時は-1を返す。time_t型はlong型と同じである。
通常は、timeで得た経過秒をlocaltimectimeを使用して年月日時分秒の形式に変換することが多い。

サンプル

#include <stdlib.h>
#include <time.h>

/* time.h内での定義 */
struct tm {
  int tm_sec;/* 秒[0-61]閏秒考慮 */
  int tm_min;/* 分[0-59] */
  int tm_hour;/* 時[0-23] */
  int tm_mday;/* 日[1-31] */
  int tm_mon;/* 月[0-11] */
  int tm_year;/* 年[1900年から起算] */
  int tm_wday;/* 曜日[0-6] 0:日曜日 */
  int tm_yday;/* 年内の経過日数[0-365] */
  int tm_isdst;/* 日本では0 */
};

main() {

  time_t rtime;
  time_t atime;

  /* 経過秒を取得 */
  rtime = time( &atime );
  if( rtime == -1 ) {
    printf( "時間取得でエラーが発生しました。\n" );
    return -1;
  }

  /* 経過秒を確認 */
  printf( "rtime=%d\n" , rtime );
  printf( "atime=%d\n\n" , atime );

  /* 構造体形式のローカル(日本)時間に変換 */
  struct tm * strtim;
  strtim = localtime( &rtime );
  /* 内容を確認 */
  printf( "tm_sec=%d\n" , strtim->tm_sec );
  printf( "tm_min=%d\n" , strtim->tm_min );
  printf( "tm_hour=%d\n" , strtim->tm_hour );
  printf( "tm_mday=%d\n" , strtim->tm_mday );
  printf( "tm_mon=%d\n" , strtim->tm_mon );
  printf( "tm_year=%d\n" , strtim->tm_year );
  printf( "tm_wday=%d\n" , strtim->tm_wday );
  printf( "tm_yday=%d\n" , strtim->tm_yday );
  printf( "tm_isdst=%d\n\n" , strtim->tm_isdst );

  /* 文字列形式のローカル(日本)時間に変換 */
  char * chrtime;
  chrtime = ctime( &rtime );
  /* chrtimeの末尾は\n\0 */
  printf( "chrtime=%s" , chrtime );

  return 0;
}

実行結果

rtime=1498330152
atime=1498330152

tm_sec=12
tm_min=49
tm_hour=3
tm_mday=25
tm_mon=5
tm_year=117
tm_wday=0
tm_yday=175
tm_isdst=0

chrtime=Sun Jun 25 03:49:12 2017


Copyright © 2008-2015 http://hitorilife.com All Rights Reserved.