현재 시각을 컨솔에 보여주는 간단한 애플리케이션의 Objective-C 언어 소스 코드이다.
UTC란 1970년 1월 1일 0시 0분 0초를 기준으로 하여 경과된 초 단위의 총 시간을 의미한다.
* UTC(Universal Time  Coordinated, 협정세계시, 協定世界時)

아래의 소스파일은 C  언어용으로 민들어 두었던 소스 현재 시각 알아내기 for C and Ch 를 아주 조금 수정한 것이다. 수정한 부분은 #include를 #import로 바꾸고, 또

        #import  <Foundation/Foundation.h>

를 추가했을 뿐이다. 이 소스에서는 이 수입 구문이 없어도 된다.

컴파일은 Dev-C++ 개발 도구에서 Ctrl+F11 을 클릭한다.


  1. /*
  2.  *  Filename: testCTimeMain.m
  3.  *
  4.  *  Compile: Click Ctrl+F11 on Dev-C++ IDE
  5.  *
  6.  *  Execute: testCTime
  7.  */
  8. #import <Foundation/Foundation.h>
  9. #import <stdio.h>
  10. #import <time.h>
  11. char weekNames[7][3] = {
  12.  "일", "월", "화", "수", "목", "금", "토"
  13. };
  14. int main() {
  15.    time_t timer;
  16.     struct tm *t;
  17.     timer = time(NULL); // 현재 시각을 초 단위로 얻기
  18.     t = localtime(&timer); // 초 단위의 시간을 분리하여 구조체에 넣기
  19.     // 1970년 1월 1일 0시 0분 0초부터 시작하여 현재까지의 초
  20.     printf("UTC: %d초\n", timer);
  21.     // 현재 시각 표시: 200x년 x월 xx일 (x요일) xx시 xx분 xx초
  22.     printf("%d년 %d월 %d일 (%s요일) ", t->tm_year + 1900, t->tm_mon + 1, t->tm_mday, seekNames[t->tm_wday]);
  23.     printf("%d시 %d분 %d초\n", t->tm_hour, t->tm_min, t->tm_sec);
  24.     // t->tm_yday의 값: 1월 1일은 0, 1월 2일은 1
  25.     printf("올해 몇 번째 날: %d, ", 1 + t->tm_yday);
  26.     // t->tm_isdst의 값: 0 이면 서머타임 없음
  27.     printf("서머타임 적용 여부: %s\n", (t->tm_isdst == 0) ? "안함" : "함");
  28.     return 0;
  29. }



컴파일은 Ctrl+F11 클릭

실행> testCTime
UTC: 1335787722초
2012년 4월 30일 (월요일) 21시 8분 42초
올해 몇 번째 날: 121, 서머타임 적용 여부: 안함


Posted by Scripter
,