2010-05-04 2 views
-2

I 사용 P/현재 시스템 날짜 시간을 얻을 내 응용 프로그램에 GetSystemTime() 메소드를 호출하지만 잘못된 값이에 대한 모든 솔루션을 제공하고 있습니다 ..P/GetSystemTime을() 메소드가 잘못된 출력을주고있다 호출

+4

질문에 대한 대답을 수락하면 사람들은 후속 질문에 답할 확률이 높습니다. – Syntactic

+1

정확히 어떤 문제가 발생했는지 지정하십시오. 그리고 물론, 몇 가지 대답을 표시 시작! – Shaihi

답변

3

DateTime.Now을 사용하지 않습니까?

+0

그는 이것을 위해'DateTime.UtcNow'를 사용하고 싶습니다. – MusiGenesis

+0

나는 "값"이 잘못되었다고 생각했는데, 그 이유는 그가 날짜가 UTC가 아닌 TimeZone에 있기를 기대했기 때문입니다.하지만 희망을 갖고 그 사람으로부터 피드백을 얻을 것입니다. – thelost

+1

나는 그 질문에 대한 대답을 선택하는 것에 대해 분명히 매우 좋다. :) – MusiGenesis

2

무엇이 문제입니까?

p/invoke 서명이 맞습니까?

구조가 올바르게 구성되어 있습니까?

어떻게 구조체 포인터가 '반환 됨'과 관련이 있습니까?

2

반환 된 시간이 1 시간 정도 벗어나면 일광 절약 시간 버그 (hotfix으로 해결할 수 있음)가 발생합니다.

GetSystemTime은 협정 세계시 (UTC)를 반환합니다. 현지 시간대를 찾고있을 수도 있습니다. GetLocalTime으로 전화를 걸거나 DateTime.Now 또는 DateTime.UtcNow을 사용하고 PInvoke 항목을 건너 뜁니다.

+0

감사합니다 .. GetLocaltime() 및 SetLocalTime() 내 문제를 해결했습니다 – Sundar

1

잘못된 값으로 무엇을 의미합니까?
Windows CE에 대해 묻기 때문에 시스템이 RTC를 저장하지 않고 부팅시 동기화되지 않아 정확한 시간이 필요하지 않을 수 있습니다.
플랫폼에 따라 다릅니다. 작업 표시 줄에서 시간과 날짜가 맞습니까 (이미지에 있다고 가정)?

6

아, 시간과 CF 및 WinCE. 무슨 재미! 당신이 알고있는 다른 일이 있습니다받은 다른 모든 좋은 답변과 함께 : GetSystemTime은 로컬 시간을 점점 종료하고 거꾸로 시간대 및 DST에 따라 그 조정 있도록 로컬 시간이 아니라 UTC를

  1. 운영체제를 저장 그렇게 로컬 시간이 맞지만 SystemTime이 맞지 않으면 TZ 또는 DST 설정이 잘못되었습니다.
  2. DST가 또는 변경으로 인해 의회에 맞지 않을 수도 있습니다, 그래서 QFE 레지스트리에서 설정 또는 해제 할 수있는 OEM
  3. DST에 의해 요구 될 수있다
  4. CF, 그래서 어떤을 시작으로 시간대 바이어스를 캐시 응용 프로그램을 다시 시작할 때까지 시간대를 조정하면 DateTime.Now가 올바르지 않습니다.
  5. 모든 장치가 전원 손실 (또는 재설정)시간에 시간을 유지할 수있는 것은 아닙니다.
  6. 시간이 하루 종일 "부유합니다". 얼마나 심하게 (밀리 초에서 초)는 실제 하드웨어 구현에 달려 있습니까?
+0

다른 플랫폼 대신 CF/WinMo에서 작동하는 더 큰 이유가 무엇입니까? :) – MusiGenesis

관련 문제