2008-11-13 3 views
0

struct tm의 초를 계산하는 루틴이 있습니다. 리눅스에서 mktime을 사용한 구현은 잘 작동하지만 mktime on windows VS2003/.NET 1.1은 epoch 전 시간대의 datetimes에 대해 -1을 반환합니다. ++ 전용 (더 부스트, Qt는 하나를 ANSI C를 사용하지 않는 이전 시대 날짜의에서MS VS2003을 사용하여 사전 에포크 날짜/초에 대한 초를 계산합니다.

가 어떻게 의미 써서 time_t 값을 계산 할 (즉

값 + secondsToEpoch ==

secondsToDatetime

))?

도움 주셔서 감사합니다.

+0

당신이하려는 것을 정확히 확장 할 수 있습니까? 어떤 종류의 작업을 지원해야합니까? – Charlie

+0

예, 정확하게 문제가 무엇인지 이해하는 데 문제가 있습니다. 샘플 코드는 더 이상의 설명이 없으면 이해가되지 않습니다. – Steven

답변

1

그물에 mktime 소스를 몇 개 볼 때,이 둘은 모두 꽤 휴대형으로 보이므로 당연히 법적인 요구 사항에주의를 기울여 출처에 넣을 수 있어야합니다.

즉, 나는 당신이 올바른 것을 찾아야한다고 생각합니다. 무슨 데이트하고 있니? 1970 년 이전의 날짜로 작업한다면 64 비트 time_t가 필요할 것입니다.

일찌기 기묘한 캘린더 변경 사항이 있습니다 (예 : 태양력으로 전환).

+0

mktime 소스에 대한 링크를 게시 할 수 있습니까? 감사. –

+0

나는 "mktime source"를 봤는데 http://www.raspberryginger.com/jbailey/minix/html/mktime_8c-source.html과 같은 것을 보냈다. –

+0

요청에 따르면, 요구 사항은 에포크 이전 날짜를 지원하는 것이었다. (즉, 음수와 함께). 제공된 샘플 코드는 부호없는 값을 반환하므로 Pre-Epoch 날짜는 지원되지 않습니다. – selwyn

관련 문제