localtime使用

4174 ワード

こうぞうぶんせき
time
紀元Epoch(1970-01-01 00:00:00 UTC)からの経過時間を秒単位で返します.
localtime
struct tm *localtime(const time_t *timer)

tm構造体を返します.以下のようにします.
struct tm {
     
   int tm_sec;         /*  ,    0   59 */
   int tm_min;         /*  ,    0   59 */
   int tm_hour;        /*   ,    0   23 */
   int tm_mday;        /*        ,    1   31 */
   int tm_mon;         /*   ,    0   11 */
   int tm_year;        /*   1900      */
   int tm_wday;        /*        ,    0   6 */
   int tm_yday;        /*        ,    0   365 */
   int tm_isdst;       /*     */
};

上から年に1900、月に1を加えることがわかります.
サンプルコード
static int get_today(struct date *today)
{
     
	time_t t;
	struct tm * lt;

	time(&t);			//   Unix   
	lt = localtime(&t);	//       

	today->year = lt->tm_year+1900;
	today->month = lt->tm_mon+1;
	today->day = lt->tm_mday;
	// printf("%d/%d/%d %d:%d:%d
", lt->tm_year+1900, lt->tm_mon+1, lt->tm_mday, lt->tm_hour, lt->tm_min, lt->tm_sec);
return 0; }