끄적끄적

반응형

C언어는 날짜/시간을 구할 때 하나의 함수로만 되는 것이 아니라, 다음과 같이 약간 복잡합니다.


time() 함수로, 현재 경과된 초(sec), 즉 "유닉스 시간"을 구한 후, 그것을 localtime() 함수로 연월일 시분초로 분리하여 구조체에 저장합니다.


C에서, 오늘 시각/날짜 (현재 날짜, 시간) 출력 예제

#include <stdio.h>

#include <time.h>



void main(void) {

  time_t timer;

  struct tm *t;


  timer = time(NULL); // 현재 시각을 초 단위로 얻기


  t = localtime(&timer); // 초 단위의 시간을 분리하여 구조체에 넣기



  printf("유닉스 타임 (Unix Time): %d 초\n\n", timer); // 1970년 1월 1일 0시 0분 0초부터 시작하여 현재까지의 초


  printf("현재 년: %d\n",   t->tm_year + 1900);

  printf("현재 월: %d\n",   t->tm_mon + 1);

  printf("현재 일: %d\n\n", t->tm_mday);


  printf("현재 시: %d\n",   t->tm_hour);

  printf("현재 분: %d\n",   t->tm_min);

  printf("현재 초: %d\n\n", t->tm_sec);


  printf("현재 요일: %d\n", t->tm_wday); // 일요일=0, 월요일=1, 화요일=2, 수요일=3, 목요일=4, 금요일=5, 토요일=6

  printf("올해 몇 번째 날: %d\n", t->tm_yday); // 1월 1일은 0, 1월 2일은 1

  printf("서머타임 적용 여부: %d\n", t->tm_isdst); // 0 이면 서머타임 없음


}



반응형
Please Enable JavaScript!
Mohon Aktifkan Javascript![ Enable JavaScript ]