C言語ライブラリ関数を使用して現在のローカルタイムを取得するプログラミング

1.tm構造体
struct tm {

int
tm_sec; /* seconds after the minute [0-60] */
int tm_min;
/* minutes after the hour [0-59] */
int tm_hour;
/* hours since midnight [0-23] */
int tm_mday;
/* day of the month [1-31] */
int tm_mon;
/* months since January [0-11] */
int tm_year;
/* years since 1900 */
int tm_wday;
/* days since Sunday [0-6] */
int tm_yday;
/* days since January 1 [0-365] */
int tm_isdst;
/* Daylight Savings Time flag */
long tm_gmtoff;
/* offset from CUT in seconds */
char *tm_zone;
/* timezone abbreviation */
};

2.localtimeを使ってローカルタイムを取得。具体的ソースコード下記:
– (struct tm*)getTime
{
//時間の形式
struct timeval ticks;
gettimeofday(&ticks, nil);
time_t now;
struct tm* timeNow;
time(&now);
timeNow = localtime(&now);
timeNow->tm_gmtoff = ticks.tv_usec/1000; //ミリ秒

timeNow->tm_year += 1900; //tm中のtm_year1900から現在まで
timeNow->tm_mon += 1; //tm_mon範囲0-11

return timeNow;
}

Development

Posted by arkgame