2012-02-07 21 views
0

は64ない16HHに小数時間を変換する:II:ssの私は、小数点値(64.17時間)を持っており、時間、分、秒のタイムスタンプが、時間の値にこれを変換する必要があり24時間以上

を示すべき

またので64.17は誰もがこの上で私を助ける

64:10:12

として表示されるマイクロ秒を表示するべきではないのですか?また、私はなぜちょうどTimeSpan構造を使用しない集約関数(この場合の平均)で

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-私/ライブラリ/ 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 

のコード部分に以下を追加しますが例と答えています。

更新

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

@Neo、アップデートをご覧ください。 –

+0

ありがとうSerge私はRDLCを初めて使ったので、これをレポートコードに入れて呼び出すだけですか?その場合、カスタムコードエラー – Neo

4

それを配置する必要がありますか?はい、それは日数を記録しますが、探しているものすべてを与えるはずのTotalHoursプロパティもあります。

TotalMillisecondsプロパティで平均化計算を行うこともできます。

はのTimeSpanの書式設定の詳細については、hereを参照してください。 TimeSpan.FromHours Method

+0

私の問題は、エラーとして戻ってくるレポート内の書式設定です!私はクラスに、質問に追加したコードを使用して作成したタイムパンを持っていますが、レポートに表示するときに#Errorが返されます – Neo

関連する問題