2014-04-30 4 views
1

두 개의 datetimes 빼기 및 HH : MM : SS 형식으로 표시해야하는 net 응용 프로그램. mappling 클래스의 데이터베이스에서 이것을 가져 와서 빼고 문자열 형식으로 변환하려고합니다. 나는이 문이 매핑 기능에 사용되는asp.net의 HH : MM : SS 형식으로 두 DateTimes의 차이 변환 C# Databinding 클래스

TimeTook = Convert.ToString(reader.GetDateTimeNullable("COMPLETED_DATE") - reader.GetDateTime("REQUEST_DATE")) 

다음과 같은 방법으로 노력하고있어 내가 문자열로 변환 할 때 나는 일 HH에 받고 있어요 : MM : ss.ff 형식 형식을하지만 난 그것을 싶어 MM : SS 형식을 MM : HH 내가 직접 두 날짜 사이의 차이를 바인딩하고 HH에서 그들을 표시 할

<asp:Label ID="lblTimeTook" runat="server" Text='<%# Bind("TimeTook") %>'></asp:Label> 

을 다음과 같이 SS 형식 나는 사용자 컨트롤에서 레이블에 직접 바인딩 해요로 .

TimeTook = (reader.GetDateTimeNullable("COMPLETED_DATE") - 
      reader.GetDateTime("REQUEST_DATE") 
      ).ToString(@"hh\:mm\:ss"); 
+1

' DateTime's, 당신은'TimeSpan'으로 끝납니다. 클래스의 메소드/속성을 살펴 보았습니까? ** 편집 ** 그것은 구조체가 아니라 클래스입니다 :) 여기에 당신이가 : http://msdn.microsoft.com/en-us/library/system.timespan.aspx – Flater

+0

봐 String.Format과 DateTime.ToString () 메소드 (여기에 많은 것들이있다.) – MaxOvrdrv

+0

당신은 질의를 뺀 다음 SQL에서 포맷한다. –

답변

5

DateTime의 반환 쉽게 포맷 할 수있는 TimeSpan을 빼면 :

+0

입력 문자열이 올바른 형식이 아니라는 오류가 발생합니다. (reader.GetDateTime ("COMPLETED_DATE") - reader.GetDateTime ("REQUEST_DATE")) . 나는 이것을 얻었지만 ToString ("hh : mm : ss")을 ToString ("hhmmss")으로 바꿨을 때이 오류는 사라졌지 만 콜론없이 출력된다. – user2864496

+0

@ user2864496 죄송합니다. '. 내 대답을 업데이트했습니다. –

+0

작동 중입니다. 고맙습니다. – user2864496

0

이 로직 (당신의 값으로 DateTime.Nows 교체를 사용할 수 있습니다

Convert.ToDateTime(reader.GetDateTimeNullable("COMPLETED_DATE") - reader.GetDateTime("REQUEST_DATE")).ToString("HH:mm:ss"); 
0

이 시도 :

 var datetimediff = new DateTime((DateTime.Now.AddMinutes(1) - DateTime.Now).Ticks); 
     var TimeTook = datetimediff.ToString("HH:mm:ss"); 
+0

다음 오류가 발생합니다. 'System.TimeSpan'형식의 개체를 'System.IConvertible'형식으로 캐스팅 할 수 없습니다. – user2864496