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

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

... 91  92  93  [94]  95  96  97 
NoWriterDateCnt.TitleFile(s)
101정성태3/2/200510682            답변글 [답변]: [답변]: 죄송합니다! 급히올리느라 file path의 변경을 하지않고 그냥올렸네요....!
102김용국3/18/200510745                답변글 [답변]: 거듭죄송하네요..... 후~~~주소를 변경하고 빌드를 다시 했습니다....
103정성태3/2/200510651                    답변글 [답변]: [답변]: 거듭죄송하네요..... 후~~~주소를 변경하고 빌드를 다시 했습니다....
104김용국3/2/200510723                        답변글 [답변]: 네... 빨리 검토해 봐 주셔서 감사합니다~~
105정성태3/2/20059921                            답변글 [답변]: [답변]: 네... 빨리 검토해 봐 주셔서 감사합니다~~
106김용국3/2/200510388                                답변글 [답변]: 답변감사합니다!
91김용국2/28/200512141IE에 WindowsFormControl을 올려 실행하면 이런에러가 나네요???파일 다운로드1
92정성태2/28/200513401    답변글 [답변]: IE에 WindowsFormControl을 올려 실행하면 이런에러가 나네요???
93김용국2/28/200512395        답변글 [답변]: 답변감사합니다... 재질문을 드립니다
94정성태2/28/200512995            답변글 [답변]: [답변]: 답변감사합니다... 재질문을 드립니다
95김용국2/28/200512998                답변글 [답변]: IE주소창에서 해당주소로 실행을 해보니....디버깅 PopUp화면이...^
96정성태2/28/200512044                    답변글 [답변]: [답변]: IE주소창에서 해당주소로 실행을 해보니....디버깅 PopUp화면이...^
97김용국3/1/200512624                        답변글 [답변]: 준비되는데로 말씀드리겠습니다 ^^
88안지환2/22/200514167^^ 사이트 잘 들러보았습니다.
89정성태2/22/200514182    답변글 [답변]: ^^ 사이트 잘 들러보았습니다.
85한기열2/22/200512735정성태님 홈같은 부드러운 페이지 넘김?은 어떻게 구현하나요?
86정성태2/22/200513431    답변글 [답변]: 정성태님 홈같은 부드러운 페이지 넘김?은 어떻게 구현하나요? [2]
84김용국2/21/200513520Smart Client에 관한 문의 드립니다.
87정성태2/22/200513572    답변글 [답변]: Smart Client에 관한 문의 드립니다.
82천호민2/1/200512439데이터 그리드의 템플릿필드에 버튼 컨트롤을 넣구요.. 포스트백시 이전 위치에 포커스를 주고 싶은데요..
83정성태2/2/200513253    답변글 [답변]: 데이터 그리드의 템플릿필드에 버튼 컨트롤을 넣구요.. 포스트백시 이전 위치에 포커스를 주고 싶은데요..
79정형균1/26/200513149드디어 정성태님을 찾았네요..^^; 스마트 클라이언트 구현하는데 배포시 문제때문에 죽겠습니다...
80정성태1/26/200511913    답변글 [답변]: 드디어 정성태님을 찾았네요..^^; 스마트 클라이언트 구현하는데 배포시 문제때문에 죽겠습니다...
76임은선1/25/200512780질문이 있는데요....
77정성태1/25/200513104    답변글 [답변]: 질문이 있는데요....
78임은선1/26/200513653        답변글 [답변]: [답변]: 질문이 있는데요....
... 91  92  93  [94]  95  96  97