C/C++에서 UTC 문자열로부터 UNIX 에포크 시간을 얻는 데 발생하는 놀라운 어려움
2025-01-19
이 글에서는 C/C++에서 UTC 문자열을 UNIX 타임스탬프로 변환하는 복잡성을 자세히 다룹니다. 저자는 다양한 C 라이브러리와 언어에서 POSIX 시간 처리 함수의 예상치 못한 동작을 발견했습니다. `strptime()`, `mktime()`, `timegm()` 함수 사용에 초점을 맞춰 일광 절약 시간제와 로케일 관련 문제점을 강조합니다. UTC 시간에는 `timegm()`을 사용하고 로케일 문제를 우회하기 위해 C++ 스트림을 활용하는 등 해결책을 제시합니다. 마지막으로 Howard Hinnant의 tz 라이브러리 등 C++20 이후에 사용 가능한 더욱 강력한 시간 처리 라이브러리를 추천합니다.
개발