Microsoft MVP성태의 닷넷 이야기
TimeSpan 구할 때 시간대를 바꿔도 같은 값이 나오는 것 같습니다. [링크 복사], [링크+제목 복사],
조회: 14503
글쓴 사람
영귤 (lucasyi at naver.com)
홈페이지
첨부 파일
 

            DateTime now = DateTime.Now;

            DateTime endOfYear1 = new DateTime(now.Year, 12, 31, 0, 0, 0);
            DateTime endOfYear2 = new DateTime(now.Year, 12, 31, 0, 0, 0, DateTimeKind.Local);
            DateTime endOfYear3 = new DateTime(now.Year, 12, 31, 0, 0, 0, DateTimeKind.Utc);

            TimeSpan gap1 = endOfYear1 - now;
            TimeSpan gap2 = endOfYear2 - now;
            TimeSpan gap3 = endOfYear3 - now;

            Console.WriteLine("올해의 남은 날짜: " + gap1.TotalSeconds);
            Console.WriteLine("올해의 남은 날짜: " + gap2.TotalSeconds);
            Console.WriteLine("올해의 남은 날짜: " + gap3.TotalSeconds);


c# 8.0 382 페이지의 코드를 약간 바꾸어 보았습니다.

now는 local time 기준이니까,
시간대에 따라서 빼기 결과가 달라야 정상이 아닌가요?








[최초 등록일: ]
[최종 수정일: 8/6/2020]


비밀번호

댓글 작성자
 



2020-08-06 09시49분
이게 DateTime의 Subtract 연산이 TimeZone을 고려한 연산이 아니고, 순수하게 시간 대 시간으로 연산을 하기 때문입니다. 즉, Local 시간대로 0에서 5까지 흐른 시간과, UTC 시간대로 0에서 10까지 흘렀다고 했을 때, 서로 TimeZone에 맞게 변환해서 시간 차를 구하는 것이 아니고, 10에서 5를 빼는 식으로 단순하게 계산하게 되어 있습니다.

따라서, 원하는 결과를 얻으려면 시간대를 같게 맞춰서 연산을 해야 합니다.
정성태

... 46  47  48  49  50  51  52  53  54  55  56  57  58  59  [60]  ...
NoWriterDateCnt.TitleFile(s)
1161Ji Y...7/12/201319816안녕하세요? 음성인식 관련해서 질문있습니다, [2]
1160이상식7/12/201319984웹서비스 커넥션 풀 오류입니다. [6]
1159김덕성7/4/201328934C# 마샬링 관련 문의입니다 [3]
1157이상식6/26/201321951빌드시 오류인데 원인을 모르겠네요. [2]파일 다운로드1
1156정환나라6/20/201319488In-Process Side-By-Side 동작 원리는 어떻게 되는걸까요? [3]
1155MD워시퍼6/20/201318567안녕하세요. 한가지 궁금한 것이 있어서 문의를 드립니다. [1]
1154it 대...6/13/201321807무선 패킷 스니핑 프로그램 [1]
1153이상헌6/8/201319393죄송합니다;; 또다시 의문점이 생겨 질문드립니다. [1]
1152이상헌6/8/201318404넷두이노 플러스 펌웨어 다운로드가 안되네요;;; [1]
1151황기동6/5/201319653무선 패킷 전송관련 질문 [1]
1147이진권6/2/201319918c# 윈폼 facebook과 연동2 [1]
1144황은영5/29/201324142원격지 서버에서 COM+ 호출이 되지 않습니다. [7]
1143김선희5/28/201324846윈도우 8, 익스플로러 10, 64bit->32bit [1]
1142백지훈5/15/201320221음성인식 TTS 관련해서 질문드립니다 ㅜㅜ [2]파일 다운로드1
1141나그네5/10/201320394안녕하세요..전자세금 관련하여.. 보다보다 여기까지 왔습니다. [4]
1140이성환5/8/201320690제네릭과 배열 관련 기초 질문입니다. [11]
1139양영석5/3/201319085페이스북 로그인 관련하여.... [1]
1137김민현4/30/201318539Binary 구조체에 대한 Linq query 관련 질문입니다. [3]파일 다운로드1
1136박상영4/25/201320374ksc5601에서 지원하지않는 확장문자 찾는방법 [3]
1135sequ...4/16/201335911c# dll c++ 에서 사용하기 (event 사용) [17]
1134이성환4/12/201320300volatile 키워드 관련 질문입니다. [3]파일 다운로드1
1133서광석4/8/201323591vb.net 2010에서 배포시 문제점 확인 방법에 대한 질문드립니다 [1]
1131헤딩3/28/201325531IIS 처리 성능을 높이고 싶으면 풀의 proecss 수를 계속 늘리면 될까요? [1]
1130박재율3/27/201319986WCF 서비스가 종종 죽는데 도움좀 부탁드립니다 ㅠ [1]
1129이상민3/21/201324481안녕하세요...IE Embedded Smart Client가 Windows8에서 정상동작을 하지 않습니다. [8]
1125박홍균3/19/201316759안녕하십니까. visual studio 에서 TFS 접속 관련으로 궁금한 점 여쭤봅니다.
... 46  47  48  49  50  51  52  53  54  55  56  57  58  59  [60]  ...