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 :