tm 구조에서 tm_isdst 플래그 사용에 대해 다음과 같은 의심이 있습니다. 결과를 봤 사람 페이지 당과 표현 시간mktime 및 tm_isdst 플래그
B.에 대한 효과에 0의 값은 DST를 나타냅니다
A를하지 않는 다음과 같이 내가 그 가치를 해석하는 것을 이해 (1)의 값은 DST가 있음을 나타냅니다 사실
C. -1 값은 mktime이 DST가 유효한지 여부를 확인하게합니다.
나를 혼란스럽게하는 세 번째 요점입니다. 내 의심은 mktime이 DST의 적용 여부를 정확하게 파악할 수있는 방법입니다. 시간이 지남에 따라 예를 들어
는
My Time Zone = GMT + 3:00
DST shifting = +1 Hour at 5:00 AM in January (to keep it simple)
Current UTC time = "01/Jan/2012 00:00:00"
UTC time in seconds time_t timetUTC = X seconds
Hence my time is = "01/Jan/2012 03:00:00"
은 나의 이해
tm tmMyTime = localtime_r(X + 2 * 60 * 60) will set tmMyTime.tm_isdst to 0
tm tmMyTime = localtime_r(X + 3 * 60 * 60) will set tmMyTime.tm_isdst to 1
이 방법으로 당
"01/Jan/2012 04:00:00" (X + 1 * 60 * 60)
"01/Jan/2012 05:00:00" (X + 2 * 60 * 60)
"01/Jan/2012 05:59:59" (X + 2 * 60 * 60 + 59)
"01/Jan/2012 05:00:00" (X + 3 * 60 * 60)
"01/Jan/2012 06:00:00" (X + 4 * 60 * 60)
을 내 시간 값의 변화를 다음과 같이도의 다른 모든 구성 요소하지만 tm 구조는 두 경우 모두 동일합니다. mktime (tmMyTime)은 p tm_isdst 값에 따라 로퍼 UTC 값.
이제 tmMyTime.tm_isdst = -1로 설정하면 mktime은 어떤 값을 반환할까요? 나는 TZ 변수, 시간 데이터베이스 등을 읽었습니다. 그럼에도 불구하고 논리적으로 mktime()은 DST 수정을 적용할지 여부를 두 번 발생할 수있는 tm 값에 적용 할 수 있습니까?
우리 시간대에는 DST가 없습니다. 그러므로 나는 내 이해가 이 맞는지 잘 모르겠습니다. 내가 틀렸다면 나를 바로 잡아주세요. 귀하의 도움을 많이 주시면 감사하겠습니다.
현지 시간이 모호하다는 것을 알았습니다. 그것은. –