나는 1.1.1970 년 이후로 마이크로 초 단위로 타임 스탬프를 얻었습니다. 나는마이크로 초 단위로 2 시간 분실 됨
yyyy.MM.dd HH.mm.ss.ffffff
으로 변환하려고 시도했습니다. 예 : 1337060932000000 마이크로 초 결과는 2012 년 5 월 15 일이어야합니다. 2012 년 5 월 15 일, 7.48
그러나 결과는 2 시간입니다. 그 이유는 무엇일까요?
나는 1.1.1970 년 이후로 마이크로 초 단위로 타임 스탬프를 얻었습니다. 나는마이크로 초 단위로 2 시간 분실 됨
yyyy.MM.dd HH.mm.ss.ffffff
으로 변환하려고 시도했습니다. 예 : 1337060932000000 마이크로 초 결과는 2012 년 5 월 15 일이어야합니다. 2012 년 5 월 15 일, 7.48
그러나 결과는 2 시간입니다. 그 이유는 무엇일까요?
힌트를 보내 주셔서 감사합니다.
int offset = 2;
DateTime d = new DateTime(1979,1,1, offset,0,0);
이 예를 단순화된다 나는 이러한 방식으로 문제를 해결했다. 오프셋은 외부 파일에 지정되므로 다른 시간대에 맞게 쉽게 수정할 수 있습니다.
Unix 시대가이 시간대이기 때문에 UTC 날짜를 얻는 것이 가장 가능성이 높습니다. 당신이 뭔가를 할 수 있다는 것을 일단
이var epoch = new DateTime(1970,1,1, 0,0,0, DateTimeKind.Utc);
: 위에서 제공 한 값이
var localTime = epoch.AddMilliseconds(microseconds/1000).ToLocalTime();
microseconds
경우, 당신이 얻을 값이 15/05/2012 07:48:52
당신이 그래서 기본 날짜를 만들 수 있는지 확인 네가 예상 한대로 네.
ToLocalTime
을 사용할 때는주의해야합니다. 소프트웨어가 실행되는 컴퓨터의 현지 표준 시간대라는 것을 확신 할 수 있기 때문에, 경험상 항상 생각하는 시간대라고는 할 수 없습니다.
아마도 시간대는? – assylias
글쎄 UTC 일 수도 있습니다! ! 어떻게 지내세요? – V4Vendetta
현지 시간차 및 일광 절약 시간을 고려하십시오. –