내 코드는 외부 소스에서 time_t를 수신합니다. 그러나 time_t는 UTC Epoch 시간을 기반으로하지 않으며 시간대 문자열 (예 : EDT, PST 등)을 얻고이 오프셋 된 시간에 기반합니다. 이것을 time_t 기반의 실제 UTC Epoch로 변환해야합니다.Unix time_t를 다른 시간대와 변환하는 가장 좋은 방법은 무엇입니까?
또한 반대 방향으로 이동하여 UTC Epoch 기반 time_t 및 timezone을 가져 와서 오프셋 된 time_t를 만들 수 있어야합니다 (예 : EDT/PST와 같은 표준 시간대 대신). , 나는 "America/New York"과 같은 유닉스 스타일의 시간대 설명을 가지고 있고 정확한 일광 절약 시간대로 변환해야하기 때문에 offset_t와 올바른 설명자 (EDT ,동부 표준시).
나는 일시적으로 tzset()과 broken-down time, time_t, timeval 사이의 전환을 일부 변경하여이 문제를 해결할 수 있다고 확신하지만,이 일을하면 항상 두뇌가 상처를 입히고, 분명히 뭔가 빠져 있어요. 누구나이 또는 적어도 적절한 접근을 할 몇 가지 코드 또는 sudo 코드를 권장 할 수 있습니까?
모든 언어에서 시간 조작에 대해 명백하거나 적절한 (또는 명확하거나 행복하지 않은) 것은 없습니다. tzset() 및 localtime()/strftime()이 가장 좋습니다. –