mwultong Blog ... 프로그래밍 / 계산기

컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Tuesday, May 22, 2007

C언어] localtime_s 함수 사용법: 비주얼 Visual C 2005 이상에서


localtime 이라는 함수로 현재 시각을 구할 수 있지만, 비주얼C 2005 이상의 버전에서는 보안이 강화된 localtime_s 라는 함수를 사용합니다. 그렇지 않으면
localtime_s.cpp(11) : warning C4996: 'localtime': This function or variable may be unsafe. Consider using localtime_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. D:\Program Files\Microsoft Visual Studio\VC\include\time.inl(114) : see declaration of 'localtime'


이런 워닝(경고)이 나올 수 있습니다. localtime_s 는 localtime 함수와 사용법이 좀 다른데 다음 예제처럼 하면 됩니다.

localtime_s 함수로 현재 날짜 시간 출력 예제 소스


소스 파일명: localtime_s.cpp
#include <stdio.h>
#include <time.h>


int main(void) {
  time_t timer;
  struct tm t;

  timer = time(NULL); // 현재 시각을 초 단위로 얻기
  localtime_s(&t, &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 이면 서머타임 없음

  return 0;
}



비주얼C 2005의 cl.exe 로 컴파일한 화면:
D:\Z>cl localtime_s.cpp && localtime_s.exe
localtime_s.cpp
유닉스 타임 (Unix Time): 1179811989 초

현재 년: 2007
현재 월: 5
현재 일: 22

현재 시: 14
현재 분: 33
현재 초: 9

현재 요일: 2
올해 몇 번째 날: 141
서머타임 적용 여부: 0

D:\Z>




위의 소스는 비주얼C 2003 과 그 이하 버전에서는 컴파일되지 않습니다. 2003용 소스는 여기에: ▶▶ C언어] 현재 날짜/시간/년월일,시분초 구하기 함수(오늘 날짜 시간): Current Date, Time




tag: cpp
C언어 | C/C++ (Visual C++)

0 Comments:

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Previous Posts
Monthly Archives
Top