cmn-clib(CommonLibraryForC)
C言語共通ライブラリ
|
日付/時刻系 共通関数 [詳解]
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include "cmnclib/Common.h"
#include "cmnclib/CmnTime.h"
#include "cmnclib/CmnLog.h"
#include <unistd.h>
関数 | |
CmnTimeDateTime * | CmnTimeDateTime_SetNow (CmnTimeDateTime *datetime) |
現在日時を取得する [詳解] | |
CmnTimeDateTime * | CmnTimeDateTime_Set (CmnTimeDateTime *datetime, int year, int month, int day, int hour, int minute, int second, int isdst) |
日時情報を設定する [詳解] | |
CmnTimeDateTime * | CmnTimeDateTime_SetBySerial (CmnTimeDateTime *datetime, time_t time) |
日時情報を設定する [詳解] | |
CmnTimeDateTime * | CmnTimeDateTime_Add (CmnTimeDateTime *datetime, int year, int month, int day, int hour, int minute, int second) |
日時情報を設定する [詳解] | |
CmnTimeDateTime * | CmnTimeDateTime_AddBySerial (CmnTimeDateTime *datetime, time_t time) |
日時情報を設定する [詳解] | |
char * | CmnTimeDateTime_ToString (const CmnTimeDateTime *datetime, char *buf) |
CmnTimeDateTimeを文字列に変換する [詳解] | |
char * | CmnTime_Format (const CmnTimeDateTime *datetime, const CmnTimeFormatType type, char *buf) |
現在時刻文字列生成 [詳解] | |
void | CmnTime_Sleep (unsigned long long msec) |
指定ミリ秒スリープする [詳解] | |
日付/時刻系 共通関数
日付/時刻系共通関数のうち、特に汎用的な関数郡が実装されている。
char* CmnTime_Format | ( | const CmnTimeDateTime * | datetime, |
const CmnTimeFormatType | type, | ||
char * | buf | ||
) |
現在時刻文字列生成
現在時刻を指定されたフォーマットに従ってバッファに出力する。
指定可能なフォーマットについては、引数typeの項を参照のこと。
datetime | (I) フォーマットする日付時刻 |
type | (I) フォーマットタイプ。以下のものを指定すること
|
buf | (O) フォーマット後の文字列が格納されるバッファ。 必要なバッファサイズは、以下のマクロから得られる。
|
void CmnTime_Sleep | ( | unsigned long long | msec | ) |
指定ミリ秒スリープする
msec | スリープする時間(ミリ秒) |
CmnTimeDateTime* CmnTimeDateTime_Add | ( | CmnTimeDateTime * | datetime, |
int | year, | ||
int | month, | ||
int | day, | ||
int | hour, | ||
int | minute, | ||
int | second | ||
) |
日時情報を設定する
引数で指定された日時をdatetimeに設定する。
加減算する値(year~second)には通常の時刻表記の上限を超えて設定可能。
例:monthに12を超える数字、dayに31を超える数字を指定可能。
2020/11/1 にday=40を加算した場合、datetimeは2020/12/10となる。
datetime | 計算元となる日時 |
year | 加減算する西暦年 |
month | 加減算する月 |
day | 加減算する日 |
hour | 加減算する時 |
minute | 加減算する分 |
second | 加減算する秒 |
CmnTimeDateTime* CmnTimeDateTime_AddBySerial | ( | CmnTimeDateTime * | datetime, |
time_t | time | ||
) |
日時情報を設定する
引数で指定されたtimeをdatetimeに設定する。
datetime | 計算元となる日時 |
time | 加減算する時間(1970/01/01 00:00:00 をゼロとした経過秒) |
CmnTimeDateTime* CmnTimeDateTime_Set | ( | CmnTimeDateTime * | datetime, |
int | year, | ||
int | month, | ||
int | day, | ||
int | hour, | ||
int | minute, | ||
int | second, | ||
int | isdst | ||
) |
日時情報を設定する
引数で指定された日時をdatetimeに設定する
datetime | 日時を設定する先 |
year | 西暦年 |
month | 月(1 - 12) |
day | 日(1 - 31) |
hour | 時(0 - 23) |
minute | 分(0 - 59) |
second | 秒(0 - 59) |
isdst | 夏時間(夏時間の場合は1、そうでなければ0、不明の場合は-1) |
CmnTimeDateTime* CmnTimeDateTime_SetBySerial | ( | CmnTimeDateTime * | datetime, |
time_t | time | ||
) |
日時情報を設定する
引数で指定された日時をdatetimeに設定する
datetime | 日時を設定する先 |
time | 1970/01/01 00:00:00 をゼロとした経過秒 |
CmnTimeDateTime* CmnTimeDateTime_SetNow | ( | CmnTimeDateTime * | datetime | ) |
現在日時を取得する
現在日時をdatetimeに設定する。
datetime | 日時を設定する先 |
char* CmnTimeDateTime_ToString | ( | const CmnTimeDateTime * | datetime, |
char * | buf | ||
) |
CmnTimeDateTimeを文字列に変換する
datetime | 変換するCmnTimeDateTime |
buf | 変換後文字列を格納するバッファ。バッファサイズはCMN_TIME_DATETIME_STRING_BUFFER_SIZE以上であること。 |