2014-11-01 2 views
-2

ASP.NET, C# 및 SQL Server를 사용하고 있습니다. 데이터베이스에서 날짜는 2014-10-28입니다. 그냥 년, 월, 일, 아니 시간 부분.2 일 간의 날짜 비교

DateTime data1 = new DateTime(); 
    DateTime data2 = DateTime.Now; 

    data1 = reader.GetDateTime(3); 

    double total= (data2 - data1).TotalDays; 
    Response.Write(total.ToString()); 

이의 유일한 문제는 출력 :

나는이 코드를 가지고있다. 이 출력은 "4,81351624131366"입니다. 아마 이것은 시간의 차이 일 것입니다. 데이터 2를 설정하여 Y, M 및 D 만 제공 할 수 있습니까?

또는 총 일수로 변환 하시겠습니까?

+1

'DateTime.Now' 대신'DateTime.Today'를 사용할 수 있습니다 ... 시스템 기본 시간대를 사용하여 현재 날짜를 얻습니다. –

+0

와우 쉽습니다. 고마워요 100 % 일을 –

+0

당신이 체크 아웃 할 수있는 뭔가를 발견 [C# 2 날짜의 일 비교] (https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8# q = C % 23 % 20comper % 20the % 20days % 20of % 202 % 20dates) – MethodMan

답변

0

속성 TotalDays은 일의 분수 부분도 반환합니다. 비교하는 날짜가 자정에 4 일 전에 있었기 때문에 4 일 동안 하루 4 시간 5 분이 더 걸립니다. (이 시간은 정확히 자정이 아니므로 실행하고 있습니다.) 존 말한

하나, 아니면 그냥 둥근 4를 반환하고, 소수 부분을 삭제합니다 Days 속성을 사용 (자정의 시간과 날짜 부분을 얻기 위해 DateTime.Today 대신 DateTime.Now 사용).