Microsoft MVP성태의 닷넷 이야기
TimeSpan 구할 때 시간대를 바꿔도 같은 값이 나오는 것 같습니다. [링크 복사], [링크+제목 복사],
조회: 14463
글쓴 사람
영귤 (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를 빼는 식으로 단순하게 계산하게 되어 있습니다.

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

... 16  17  18  19  20  21  22  23  24  25  26  27  28  [29]  30  ...
NoWriterDateCnt.TitleFile(s)
5201김대훈8/3/201917198상속시 생성자에 대해 질문드립니다 [3]
5200농상7/30/201920415foreach로 데이터 변경 [2]
5190오리다람7/20/201917233질문드립니다. [3]
5189진우7/19/201916162C# 스레드풀 코어별 실행 문의 [2]
5188황태관7/19/201915778비주얼베이직 2019 실행 할때 마다.. [3]
5187플하7/19/201919193UWP 관련 궁금한 사항에 대해서 [1]
5186김대훈7/14/201918026박싱과 언박싱에 대해 [2]
5185농상7/13/201916258Nullable에 대해서 [1]
5184김대훈7/4/201915864저자님의 책을 다 본후에는 [2]
51837/2/201917507.NET Compact Freamwork 컨트롤러 더블버퍼링 [1]
5182wpf ...7/2/201916872wpf 질문 드립니다. [1]파일 다운로드1
51817/1/201918742DataGridview Doublebuffer 에 대해서 질문드립니다. [2]
5180김대훈6/25/201918213배열과 반복문에서 질문드립니다 [2]
5177농상6/13/201920910멀티스레드 건의 [2]
5176이선호6/13/201917623안녕하세요. 닷넷 문제로 검색하다 알게되어 들어왔습니다. 현재 IIS 문제가 있어 질문드립니다. [1]
5175Chobo6/12/201917682WPF Ellipse 그리기! [3]
5174농상6/11/201917271ThreadPool 조인에 관해 [1]
5173전우치6/9/201918064공유 리소스에 대한 스레드 동기화 처리를 위해서 lock 이용 시 문의 [3]
5172김대훈6/7/201916766너무힘드네요 공부에 대한조언부탁드립니다 [2]
5171조남석6/4/201916179EX)11-2(treeview)에 대한 질문입니다. [3]
5170레리6/4/201917060Setup 프로젝트 레지스트리 설정 관련 질문입니다. [1]파일 다운로드1
5169농상6/3/201916718멀티스레드 파라미터 관련 [2]
5168익명유저5/30/201916215항상 정말 감사드립니다... [1]
5167WPF5/23/201916881질문드립니다. [1]
5165이대희5/22/201915421Visual Studio 설치 구성요소 문의 (C# 7.3 개정판 관련) [1]
5164레드5/21/201918295실행 과정과 실행파일 디버그 시 Icon변경 질문드립니다. [5]
... 16  17  18  19  20  21  22  23  24  25  26  27  28  [29]  30  ...