C

[C] 246 각 달의 마지막 날짜 구하기 mktime()

qkrwngus 2021. 2. 8. 20:41

Desc :

 

 


Source Code :

#include <stdio.h>
#include <time.h>

#define DAYSEC (24*60*60)

void main()
{
	int i;
	time_t now;
	struct tm t1, t2;
	int n1, n2, last;

	now = time(NULL);
	t1 = *localtime(&now);
	t1.tm_mday = 1;		// 날짜 1일로 고정
	t2 = t1;

	for (i = 0; i <= 11; i++)	// 월 0~11
	{
		t1.tm_mon = i;
		t2.tm_mon = i + 1;
		n1 = mktime(&t1);	// t1에 대한 시간을 초로 환산
		n2 = mktime(&t2);	// t2에 대한 시간을 초로 환산

		// ex. 1월1일과 2월1일의 차 -->  31일
		last = (n2 - n1) / DAYSEC;	// 시간차(초)를 일로 환산
		printf("%d년 %2d월의 마지막 날짜는 %d일입니다.\n"
			, t1.tm_year + 1900, t1.tm_mon + 1, last);
	}
}

 


Result :