C言語 struct tm構造体を書式付き文字列に変換 - time.h - [ strftime ]

2008.12.05 Friday | by LRESULT


struct tm構造体を書式付き文字列に変換するには、strftime()を使います。


strftime
書式 size_t strftime( char *s,
                     size_t maxsize,
                     const char *format,
                     const struct tm *stm )
機能 struct tm構造体を書式付き文字列に変換
引数 char *s : 変換した文字列の格納先
size_t maxsize : 文字列の最大バイト数
const char *format : 書式文字列
const struct tm *stm : 変換元のstruct tm構造体
戻り値 変換した文字のバイト数を返します。



書式文字列
%Y : 西暦での年数
%y : 西暦での下2桁の年数
%m : 月数[01〜12]
%B : 月の名称
%b : 月の略称
%d : 日付[01〜31]
%x : 日付(年月日)
%c : 日付(年月日)と時刻
%j : 経過日数
曜日 %w : 曜日[0〜6](0が日曜日)
%W : 経過した週[00〜53](最初が月曜日)
%A : 曜日の名称
%a : 曜日の略称
%H : 時[00〜23]
%I : 時[00〜12]
%p : 午前/午後の文字列
%M : 分[00〜59]
%S : 秒[00〜61]
%X : 時刻(00:00:00)
その他 %% : %(パーセント記号)を表示



C言語 struct tm構造体を文字列に変換 - time.h - [ asctime ]

2008.12.04 Thursday | by LRESULT


struct tm構造体を文字列に変換するには、asctime()を使います。


asctime
書式 char* asctime( struct tm *stm )
機能 struct tm構造体を文字列に変換
引数 struct tm *stm : 変換元となるstruct tm型の構造体
戻り値 変換した文字列を返します。

出力される文字列は、ctime()と同じです。
変換された文字列には、「¥n」「¥0」が追加されます。



C言語 struct tm構造体をtime_t型に変換 - time.h - [ mktime ]

2008.12.03 Wednesday | by LRESULT


struct tm構造体を time_t型に変換するには、mktime()を使います。


mktime
書式 time_t mktime( struct tm *stm )
機能 struct tm構造体を time_t型に変換
引数 struct tm *stm : 変換元となるstruct tm型の構造体
戻り値 成功すると、time_t型に変換された値を返し、
失敗すると、-1を返します。

struct tm型構造体のメンバである、曜日(tm_wday)経過日数(tm_yday)は、
  その他の年月日のメンバから計算される為、設定する必要はありません。



C言語 システム時刻をグリニッジ標準時(年月日)構造体に変換 - time.h - [ gmtime ]

2008.12.02 Tuesday | by LRESULT


ステム時刻をグリニッジ標準時の年月日構造体に変換するには、gmtime()を使います。


gmtime
書式 struct tm* gmtime( const time_t *timer )
機能 システム時刻をグリニッジ標準時用の構造体に変換
引数 const time_t *timer : time()で取得したシステム時刻
戻り値 グリニッジ標準時の struct tm型の構造体で返します。



struct tm型の構造体
int tm_sec 秒[0〜61](最大2秒のうるう秒を含む為)
int tm_min 分[0〜59]
int tm_hour 時[0〜23]
int tm_mday 日[1〜31]
int tm_mon 月[0〜11](-1された月数)
int tm_year 年(1900からの経過年数)
int tm_wday 曜日[0〜6](日:0 月:1 火:2 水:3 木:4 金:5 土:6)
int tm_yday 1月1日からの経過日数[0〜365]
int tm_isdst 夏時間の有無(0:なし 正の値:夏時間)



C言語 システム時刻を日本時間(年月日)構造体に変換 - time.h - [ localtime ]

2008.12.01 Monday | by LRESULT


ステム時刻を地域時間(日本時間)用の構造体に変換するには、localtime()を使います。

システム時刻とは、一般的にグリニッジ標準時の1970年1月1日00:00:00を
基準とした、現在までの経過時間()のことで、time()で取得します。


localtime
書式 struct tm* localtime( const time_t *timer )
機能 システム時刻を地域時間用の構造体に変換
引数 const time_t *timer : time()で取得したシステム時刻
戻り値 日本時間に変換された、struct tm型の構造体で返します。



struct tm型の構造体
int tm_sec 秒[0〜61](最大2秒のうるう秒を含む為)
int tm_min 分[0〜59]
int tm_hour 時[0〜23]
int tm_mday 日[1〜31]
int tm_mon 月[0〜11](-1された月数)
int tm_year 年(1900からの経過年数)
int tm_wday 曜日[0〜6](日:0 月:1 火:2 水:3 木:4 金:5 土:6)
int tm_yday 1月1日からの経過日数[0〜365]
int tm_isdst 夏時間の有無(0:なし 正の値:夏時間)




C言語 システム時刻の差を取得 - time.h - [ difftime ]

2008.11.30 Sunday | by LRESULT


ステム時刻の差を取得するには、difftime()を使います。


difftime
書式 double difftime( time_t t1, time_t t2 )
機能 システム時刻の差を取得
引数 time_t t1 : 差を求める時刻
time_t t2 : 差を求める時刻
戻り値 t1 - t2 の時刻をdouble型で返します。



C言語 システム時刻を日時の文字列に変換 - time.h - [ ctime ]

2008.11.29 Saturday | by LRESULT


ステム時刻を日時の文字列に変換するには、ctime()を使います。

システム時刻とは、一般的にグリニッジ標準時の1970年1月1日00:00:00を
基準とした、現在までの経過時間()のことです。


ctime
書式 char* ctime( const time_t *timer )
機能 システム時刻を日時の文字列に変換
引数 const time_t *timer : time()で取得したシステム時刻
戻り値 日本時間の日時に変換した文字列を返します。

変換された文字列には、「¥n」「¥0」が追加されます。
現在の地域の時間に合わせて変換されます。



C言語 システム時刻の取得 - time.h - [ time ]

2008.11.28 Friday | by LRESULT


ステム時刻を取得するには、time()を使います。

この、システム時刻とは、一般的にグリニッジ標準時の1970年1月1日00:00:00を
基準とした、現在までの経過時間()のことです。


time
書式 time_t time( time_t *timer )
機能 システム時刻の取得
引数 time_t *timer : システム時刻(秒)を格納
戻り値 成功すると、システム時刻を返し、
失敗すると、-1を返します。
また、引数(timer)にNULLを指定すると、システム時刻を返します。

time_t型は、一般的にlong型でtypedefされており、時刻を表す型です。
t = time( NULL );と、time( &t ); の結果(t)は同じです。



C言語 プログラム実行時からの時間を取得 - time.h - [ clock ]

2008.11.27 Thursday | by LRESULT


ログラム実行時からの時間を取得するには、clock()を使います。


clock
書式 clock_t clock( void )
機能 プログラム実行時からの時間を取得
引数 なし
戻り値 プログラム実行時からの経過時間を返します。



clock()に関連する定義
clock_t clock()の戻り値に使われる経過時間を格納します。
通常、long型をtypedefしています。
CLOCKS_PER_SEC clock()での戻り値の単位がtime.hで定義されています。
1000の場合は、ミリ秒となります。



C言語 バッファのコピー(移動) - string.h - [ memmove ]

2008.11.26 Wednesday | by LRESULT


ッファのコピー(移動)をするには、memmove()を使います。

memcpy()と、ほぼ同じ機能ですが、メモリ領域が重なっている場合でも
正しくコピーされるという点が異なります。

ただし環境によっては、メモリ領域が重なっても
  memcpy()で問題なく動く場合があるようです。(VC8で確認)


memmove
書式 void* memmove( void *s1, const void *s2, size_t n )
機能 バッファのコピー(移動)
引数 void *s1 : コピー先となるバッファ
const void *s2 : コピー元となるバッファ
size_t n : コピーするバイト数
戻り値 コピー先バッファ(s1)を返します。

バッファサイズを超えるような、バイト数(n)を指定すると
  メモリ破壊を起こすので注意が必要です。



| 1/16PAGES | >>