各種の時間の関数の恩と恨み

2422 ワード

C++標準ライブラリでは、いわゆる日付タイプは提供されていません.C++は、日付と時刻の操作に使用されるC言語の構造と関数を継承します.日付と時間に関する関数と構造を使用するには、C++プログラムでヘッダファイルを参照する必要があります.
時間に関連する4つのタイプがあります:clock_t、time_t、size_tとtm.タイプclock_t、size_tとtime_tは、システム時間と日付を何らかの整数として表すことができる.
構造タイプtmは日付と時間をC構造として保存し、tm構造の定義は以下の通りである.
structtm{
inttm_sec;// ,     0 59,    61
inttm_min;// ,   0 59
inttm_hour;//  ,   0 23
inttm_mday;//       ,   1 31
inttm_mon;// ,   0 11
inttm_year;// 1900     
inttm_wday;//       ,   0 6,      
inttm_yday;//       ,   0 365, 1 1   
inttm_isdst;//   
}

以下はC/C++の日付と時間に関する重要な関数です.これらの関数はすべてC/C++標準ライブラリの構成部分であり、C++標準ライブラリで各関数の詳細を確認できます.
シーケンス番号
関数#カンスウ#
説明
1
time_ttime(time_t*time);
システムに戻るのは1970.1.1から経過した秒数
2
charctime(consttime_ttime);
ローカル時間を表す文字列ポインタを返します.
3
structtmlocaltime(consttime_ttime);
ローカル時間を表すtm構造へのポインタを返す
4
clock_tclock(void);
プログラムがプロセッサクロックを実行するために使用される時間を返す
5
charasctime(conststructtmtime);
文字列を指すポインタを返します
6
structtmgmtime(consttime_ttime);
timeを指すポインタを返します.timeはtm構造で、世界を調整するとき(UTC)はグリニッジ標準時間(GMT)とも呼ばれます.
7
time_tmktime(structtm*time);
タイムが指す構造に格納されている時間に相当するカレンダ時間を返します.
8
doubledifftime(time_ttime2,time_ttime1);
time 1とtime 2の差の秒数を返します.
9
size_tstrftime();
指定した日付と時刻のフォーマットに使用できます.
現在の日付と時刻
次の例では、現在のシステムの日付と時間を取得します.ローカル時間と調整世界時(UTC)が含まれます.
≪インスタンス|Instance|emdw≫
#include
#include

usingnamespacestd;

intmain()
{
//           /  
time_tnow=time(0);

// now        
char*dt=ctime(&now);

cout<

上記のコードがコンパイルおよび実行されると、次の結果が得られます.
       :SatJan820:07:412011

UTC     :SunJan903:07:412011

構造tmを使用して時間をフォーマットする
tm構造は,C/C++において日付と時間に関する操作を扱う場合に特に重要である.tm構造は、日付と時間をC構造として保存する.ほとんどの時間に関連する関数はtm構造を用いた.次の例では、tm構造と日付と時間に関連する様々な関数を使用します.
構造の使用を練習する前に、C構造を基本的に理解し、矢印->演算子を使用して構造メンバーにアクセスする方法を理解する必要があります.
≪インスタンス|Instance|emdw≫
#include
#include

usingnamespacestd;

intmain()
{
//           /  
time_tnow=time(0);

cout<tm_year<tm_mon<tm_mday<tm_hour<tm_min<tm_sec<

上記のコードがコンパイルおよび実行されると、次の結果が得られます.
1970     :1503564157
 :2017
 :8
 :24
  :16:42:37