반응형
시간함수를 사용하면 보통 struct tm 를 이용합니다.
아래는 cplusplus에서 가져온 표입니다.
이렇게 구조체 멤버변수들을 볼 수 있는데요.
이 시간 구조체를 이용하여 mktime(로컬시간 변환 함수) 을 호출하면 시간이 나오죠.
이 때 중요한 것이 tm 구조체 안의 변수인 tm_isdst 입니다.
tm_isdst 필드는 현재의 Time Zone 이 DaylightSaving 사용하는지 여부를 알려줍니다.
이 값이 만약 1이상이면 사용함을 의미하고,
이 값이 0이면 사용안함을 의미하고,
-1이면 시스템 설정에 의해 작동됨을 의미하게 됩니다.
개인적 경험인데, 개발 도중 tm_isdst를 0으로 두었음에도 섬머타임 존에 걸려있는 지역에서
섬머타임이 적용되어 출력되는 버그아닌 버그가 발견되어 -1로 바꿨습니다.
그 이후로 문제 없이 돌아감을 확인했던 경험이 있습니다.
따라서 섬머타임과 상관없이 진행할 수 있는 곳은 항상 -1로 값을 세팅해두고 코딩하는걸
추천드립니다.
반응형
'다양한 TIP' 카테고리의 다른 글
OWASP Top 10 2021버전이 나왔습니다.(DRAFT FOR PEER REVIEW) (0) | 2021.09.14 |
---|---|
ls 확인시 정확한 생성시간 확인하기(feat. time style) (0) | 2021.09.14 |
coredump thread 확인방법 (0) | 2021.09.13 |
댓글