- CVI 정보나눔(www.cvi.kr)
- 스터디
- 개발메모
개발메모(형식에 매이지 않는 짤막한 개발 낙서)
글 수 173
오늘 시간 함수를 살펴보다가 잠깐 상상에 잠겨보았습니다.
전에도 계산해본 적이 있긴 하지만 다 잊어버렸는데, 다시 정확하게 계산해보았습니다.
Visual C++ 6에서 시간값을 저장하기 위한 time_t 라는 형은 long형으로 선언되어 있습니다.
그리고, time_t라는 형은 time() 함수에 의해 이용되는데, 1970년 1월 1일 0시 0분부터 경과한 초를 값으로 가집니다.
그래서 양수 부분만 사용한다고 보면, 표현할 수 있는 시간은
2,147,483,648초
약 68년에 해당됩니다.
그래서 1970년부터 68년이 경과되면 2038 년경이 됩니다.
LabWindows/CVI 7.1의 헤더파일을 살펴본 결과, time_t 라는 형은 unsigned int로 선언되어 있습니다. 그래서 나타낼 수 있는 초는
4,294,297,296초이고, 136년에 해당됩니다.
CVI에서 time()함수는 1900년 1월 1일 0시 0분부터 경과한 초를 출력하므로, 2036 년경까지 표현할 수 있습니다.
하지만, 현재의 32비트 환경에서 개발된 프로그램이 2030년까지 그대로 사용되는 일은 아마 없을 것이므로, 문제는 되지 않을 것 같습니다.
곧 32비트 시대가 지나고, 64비트 시대가 되어서,
time_t가 64비트의 unsigned int형으로 된다면, 5천8백억년 정도의 초 단위 값을 표시할 수 있습니다.
프로그램의 유효사용기간 관련 작업을 하다가
지금부터 100년간 사용하겠다고 했더니 날짜 계산이 제대로 안되길래 알아본 것입니다.
그럼....ㅎㅎ
전에도 계산해본 적이 있긴 하지만 다 잊어버렸는데, 다시 정확하게 계산해보았습니다.
Visual C++ 6에서 시간값을 저장하기 위한 time_t 라는 형은 long형으로 선언되어 있습니다.
그리고, time_t라는 형은 time() 함수에 의해 이용되는데, 1970년 1월 1일 0시 0분부터 경과한 초를 값으로 가집니다.
그래서 양수 부분만 사용한다고 보면, 표현할 수 있는 시간은
2,147,483,648초
약 68년에 해당됩니다.
그래서 1970년부터 68년이 경과되면 2038 년경이 됩니다.
LabWindows/CVI 7.1의 헤더파일을 살펴본 결과, time_t 라는 형은 unsigned int로 선언되어 있습니다. 그래서 나타낼 수 있는 초는
4,294,297,296초이고, 136년에 해당됩니다.
CVI에서 time()함수는 1900년 1월 1일 0시 0분부터 경과한 초를 출력하므로, 2036 년경까지 표현할 수 있습니다.
하지만, 현재의 32비트 환경에서 개발된 프로그램이 2030년까지 그대로 사용되는 일은 아마 없을 것이므로, 문제는 되지 않을 것 같습니다.
곧 32비트 시대가 지나고, 64비트 시대가 되어서,
time_t가 64비트의 unsigned int형으로 된다면, 5천8백억년 정도의 초 단위 값을 표시할 수 있습니다.
프로그램의 유효사용기간 관련 작업을 하다가
지금부터 100년간 사용하겠다고 했더니 날짜 계산이 제대로 안되길래 알아본 것입니다.
그럼....ㅎㅎ