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

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

... 31  32  33  34  35  36  [37]  38  39  40  41  42  43  44  45  ...
NoWriterDateCnt.TitleFile(s)
4973홍길동4/6/201818466ebook 출간 계획은 없으신가요? [2]
4978홍길동4/17/201818056    답변글 [답변]: ebook 출간 계획은 없으신가요?
4972dwkim4/3/201818401EasyHook 관련 질문 [4]
4968최홍준3/30/201817759Windows 7 Credential Provider Android와 연동 [1]
4967이대희3/30/201818252비주얼 스튜디오 설치 워크로드 중에 ".NET Core 플랫폼 간 개발" 이건 뭐하는 것인지요. [1]
4965이대희3/30/201818123자마린 설치후 안드로이드 프로젝트 생성시 디자이너가 없다는 에러가 발생합니다. [3]
4969이대희3/31/201819314    답변글 [답변]: 자마린 설치후 안드로이드 프로젝트 생성시 디자이너가 없다는 에러가 발생합니다.파일 다운로드2
4970이대희4/1/201818018        답변글 [답변]: [답변]: 자마린 설치후 안드로이드 프로젝트 생성시 디자이너가 없다는 에러가 발생합니다. [1]
4963이대희3/29/201817922UWP 스터디를 위해 찰스페졸드 저자의 Programming Windows 6판은 어떠한지요? [1]
4962포플러3/26/201818748C# 응용프로그램 (Winform)에서 unhandledexception 발생시 프로그램이 죽는 현상 이외에 재부팅될 수도 있을까요? [2]
4966포플러3/30/201819138    답변글 [답변]: C# 응용프로그램 (Winform)에서 unhandledexception 발생시 프로그램이 죽는 현상 이외에 재부팅될 수도 있을까요? [1]
4961김민욱3/26/201820896레이더 뷰어의 구현 방법(이미지 확대 축소 관련) [2]
4960hurd...3/18/201819210OCX 관련한 질문을 드리고자 합니다. [1]
4959익명3/10/201819785교재 199page 델리게이트와 object를 이용한 범용 정렬 코드 [1]
4957멍멍이2/13/201819696System.Console - WriteLine함수의 제너릭 사용 [1]
4956김성대2/12/201819878asp.net 질문입니다. [1]
4955웅이2/12/201820593[삭제] WPF에서 list 속도 향상하는 방법이 있을까요?
4954초보자2/8/201822185FFT Library 사용 [1]
4950ASP열공2/5/201819733asp.net 과 C# 을 이용해서 홈페이지 만드는 질문입니다. [1]
4951ASP열공2/6/201819307    답변글 [답변]: asp.net 과 C# 을 이용해서 홈페이지 만드는 질문입니다. [1]
4952ASP열공2/7/201820388        답변글 [답변]: [답변]: asp.net 과 C# 을 이용해서 홈페이지 만드는 질문입니다. [1]
4953ASP열공2/7/201819897            답변글 [답변]: [답변]: [답변]: asp.net 과 C# 을 이용해서 홈페이지 만드는 질문입니다.
4949김성대1/31/201821731비동기 질문입니다. [3]파일 다운로드1
494880511/31/201821035C# 7.1책 보다가 질문드립니다 [1]
4947김성대1/30/201819660[삭제] 비동기 질문입니다. [2]파일 다운로드2
4946윤현수1/29/201819779비동기 TCP통신 데이터 문제 [4]파일 다운로드1
... 31  32  33  34  35  36  [37]  38  39  40  41  42  43  44  45  ...