5

すべての処理単位 (時分) を考慮して、TimeSpan を float に変換するにはどうすればよいですか

別のコンテキストでは、SQL Server にデータ型 "Timespan" はありませんか?

4

6 に答える 6

0
internal static string TimeSpanToDouble(TimeSpan timeSpan, string unit)
    {
        double result = 0;
        if (unit.Equals("MINUTES"))
            result = timeSpan.TotalMinutes;
        else if (unit.Equals("HOURS"))
            result = timeSpan.TotalHours;
        else if (unit.Equals("DAYS"))
            result = timeSpan.TotalHours / 24;
        else
            throw new Exception();
        return Convert.ToString(result);
    }
于 2013-02-14T15:15:46.733 に答える
0
double TsToHoursDouble(TimeSpan ts) => ts.TotalMinutes / 60;

double TsToMinsDouble(TimeSpan ts) => ts.TotalMinutes;

使用:

var hrs = TsToHoursDouble(someTimeSpan);

より正確な結果が必要な場合は、そのような計算で TotalSeconds を使用できます

于 2020-06-25T10:49:23.277 に答える
0

このようなことができます

TimeSpan elapsedTime = new TimeSpan(125000);
float floatTimeSpan;
int seconds, milliseconds;
seconds = elapsedTime.Seconds;
milliseconds = elapsedTime.Milliseconds;
floatTimeSpan = (float)seconds + ((float)milliseconds / 1000);
Console.WriteLine("Time Span: {0}", floatTimeSpan);

プログラムの出力は次のようになります。

Time Span: 0.012
于 2013-02-14T09:00:05.400 に答える