2012-02-07 2 views
0

십진수 (64.17 시간)가 있고 시간, 분 및 초의 시간 소인으로 변환해야하지만 시간 값은 64가 아닌 64로 표시해야합니다.소수점 시간을 HH로 변환하십시오. ii : ss가 24 시간보다 큰 경우

또한

64:10:12

사람이 나를 도와 그래서 64.17이

로 표시 될 수 마이크로 초를 보여주지해야

? 또한

TimeSpan ts = new TimeSpan(); 
      ts.Add(TimeSpan.FromHours(ncr_time_lost)); 
      Console.WriteLine(ncr_time_lost + " = " + TimeSpan.FromHours(ncr_time_lost).ToString()); 

      return TimeSpan.FromHours(ncr_time_lost); 
+2

[표준 TimeSpan 형식 문자열] (http://msdn.microsoft.com/en-us/library/ee372286.aspx) 및 [사용자 지정 TimeSpan 형식 문자열] (http://msdn.microsoft.com/en- us/library/ee372287.aspx) – dtb

답변

2

업데이트 작업 코드 보고서 여기

Public Function TimeSpanToString(source as Timespan) as String 
    Dim result As String 
    result = Convert.ToInt32(source.TotalHours).ToString() & ":" & source.Minutes.ToString() & ":" & source.Seconds 

    return result 
End Function 

의 코드 부분에 아래의 추가 예와 답은 TimeSpan.FromHours Method.

업데이트 :

static string TimeSpanToString(TimeSpan source) 
{ 
    string result = string.Format("{0}:{1}:{2}", 
     (int)source.TotalHours, 
     source.Minutes, 
     source.Seconds); 
    return result; 
} 

업데이트 : 이 올바른지 여부를 알 수 있지만, 다음을 시도하지 마십시오 형식 "64:10:12"는 다음 코드를 사용하여 수행 할 수 있습니다 RDLC에서이 기능을 사용하려면

public class SomeClass 
{ 
    public TimeSpan Time { get; set; } 

    public string FormattedTime 
    { 
     get { return TimeSpanToString(Time); } 
    } 

    private static string TimeSpanToString(TimeSpan source) 
    { 
     // Code. 
    } 
} 

그런 "=Fields!FormattedDate.Value" 같은 보고서에서 그것을 얻을하려고합니다.

+0

보고서에서 어떻게 사용됩니까? – Neo

+0

@ 네오, 업데이트를 참조하십시오. –

+0

감사합니다. Serge 저는 RDLC를 처음 사용하여 보고서 코드에이 코드를 추가하고 호출합니까? 그렇다면 사용자 정의 코드 오류 – Neo

4

왜뿐만 아니라 TimeSpan 구조를 사용 (이 경우 평균) 집계 함수에 넣어해야합니까? 예, 일을 추적하지만 TotalHours 속성을 통해 원하는 모든 것을 제공해야합니다.

TotalMilliseconds 속성에 대한 평균 계산도 수행 할 수 있습니다.

TimeSpan 서식 지정에 대한 자세한 내용은 here을 참조하십시오.

+0

문제점으로 계속해서보고되는 보고서에서 서식을 지정하는 중입니다. 나는 클래스에 방금 질문에 추가 한 코드를 사용하여 만든 시간대를 가지고 있지만 보고서에 표시 할 때 #Error와 함께 다시 나타납니다 – Neo

관련 문제