Microsoft MVP성태의 닷넷 이야기
글쓴 사람
영귤 (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 기준이니까,
시간대에 따라서 빼기 결과가 달라야 정상이 아닌가요?




donaricano-btn



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


비밀번호

댓글 쓴 사람
 



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

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

1  2  3  4  5  6  7  [8]  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5291지현명2/15/20201406JsonConvert.Serialize 하고 Deserialize 할때 간헐적으로 한글 깨짐 현상 문의 합니다. [3]
5290베도빈2/15/20201098직접 제작한 사용자 정의 콘트롤 DLL, 실행파일에 포함시켜 배포할 수 있을까요? [1]
5288김성배2/14/20201168c# 참조추가 기능에서 DirectX 참조가 보이지 않아요.. DircetX 11 은 설치 되어 있습니다. [1]
5287C# 초보개발자2/14/20201228프로그램 실행 질문 드립니다. [4]파일 다운로드1
5286gongs2/3/20203603윈도우 배율 및 레이아웃에 대한 질문입니다. [3]
5285강성욱1/27/20201218작업관리자에 표시되는 스레드 개수와 프로그램 내 스레드 개수 일치 [1]
5284이상준1/15/20203634출력창에 '스레드가 종료되었습니다' 문구 문의 [2]파일 다운로드1
5282봉봉이 1/13/20202191소켓 비동기 ReceiveTimeOut 구현 [9]파일 다운로드1
5281봉봉이 1/13/20201297소켓 비동기 ReceiveTimeOut 구현 [2]
5280sdd1/8/20201128데이터 저장, 배치파일 관련하여 질문드립니다. [4]
5279김창한12/27/20191454dsoframer ocx [3]
5278손님12/27/20191241CLR 스레드 풀 관련 질문 [1]
5277방문자12/26/20191261WindowsForm 질문드립니다. [3]
5276진우12/17/20191743c++/c# 에도 파이썬 가상환경 같은 기능 혹시 있는지 궁금합니다. [3]
5275송재필12/17/20191231아래 'c#8.0 프로그래밍 교제 예제 관련 문의 드립니다' 의 원인이 압축 파일의 문제인듯 합니다. [2]파일 다운로드1
5272정영훈12/13/20191440byte => string => byte 변환 문의드립니다. [5]파일 다운로드1
5270김세미12/3/20191882c#8.0 프로그래밍 교제 예제 관련 문의 드립니다. [4]
5269달려라라이언12/2/20191607C# winform(framework) tabcontrol 에서 button 함수 관련 질문 [3]파일 다운로드1
5266엔벌잉11/26/20191743라즈베리파이 autostart관련 질문 [2]
5265해나11/25/20191510C# 6.0 책 내용 문의 [1]
5264김혜원11/18/20192337C# CodeSign에 대해 여쭤볼 것이 있습니다 [4]
5263정환맨11/17/20191379Task관련 질문입니다 [3]
5262닷린이11/14/20191646Dispatcher 와 synchronizationcontext의 관계가 궁금합니다. [6]
5260방문자11/13/20191430안녕하세요 도움받고 싶습니다 [1]
5259ming11/13/20191399string타입 파라메터로 넘길때 메모리 내부가 궁금합니다. [3]
5258C#초보11/13/20191756DCOM COM+ 등록 관련 문의드립니다. [7]
1  2  3  4  5  6  7  [8]  9  10  11  12  13  14  15  ...