C言語例文集


 asctime()    日時を文字列に変換する

ヘッダ time.h
書式 char *asctime(const struct tm *tmptr);
引数 tmptr … tm構造体のポインタ
戻り値 ASCII文字列に変換された日時のポインタ。
「[曜日] [月] [日] [時] [分] [秒] [年]」の形式で返却される。
例えば、2010年3月7日(日)17時04分15秒は「Sun Mar 07 17:04:15 2010」という形式で返却される。
解説 tm構造体tmptrに設定されている時間をASCII文字列に変換する。
tm構造体は以下のように定義されている。

struct tm
{
  int tm_sec;  // 秒
  int tm_min;  // 分
  int tm_hour;  // 時
  int tm_mday;  // 日
  int tm_mon;  // 月(1月からの通算月数)
  int tm_year;  // 年(1900年からの通算年数)
  int tm_wday;  // 曜日
  int tm_yday;  // 1月1日からの日数
  int tm_isdat;  // 夏時間設定フラグ
}


<サンプルプログラム>

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

int main()
{
    struct tm *UTCtime;  // 万国標準時(UTC)
    struct tm *nowtime;  // 現地時間
    time_t utime;

    // 現在日時を取得する
    time(&utime);

    // 文字列に変換して現在の日時を表示する
    printf("現在の日時:%s", ctime(&utime));

    // tm構造体から現在の日時を表示する
    nowtime = localtime(&utime);     // tm構造体に現在日時を格納する
    printf("現在の日時:%d/%02d/%02d %02d:%02d:%02d\n\n",
        nowtime->tm_year + 1900,  // 1900年からの通算年数のため1900を加算
        nowtime->tm_mon + 1, // 1月からの通算月数のため1を加算
        nowtime->tm_mday,
        nowtime->tm_hour,
        nowtime->tm_min,
        nowtime->tm_sec);

    // tm構造体から万国標準時(UTC)を表示する
    UTCtime = gmtime(&utime);  // tm構造体に現在日時を格納し、万国標準時に変換する
    printf("万国標準時:%s\n", asctime(UTCtime));

    return 0;
}
/****************************************************************************/

<実行結果>



<Topページ>

Copyright(c) 2010 , cgengor
このWebページの内容を無断で複製または転載することを禁じます。
このWebページの情報を利用することにより発生したいかなる損害について著作権保有者はいっさいの責任を負いません。