2013-02-14 3 views
4

Как преобразовать TimeSpan к поплавку, принимая во внимание все единицы обработки (час минут), например если (единица = час) новообращенный TimeSpan к поплавку часовПреобразовать TimeSpan плавать

В другой контекст, нет ли типа данных «Timespan» в SQL Server?

+3

Согласно [MSDN] (http://msdn.microsoft.com/en -us/library/cc716729.aspx) эквивалент «TimeSpan» - это «время» в SQL Server. –

ответ

0

Пример минут:

var t = new TimeSpan(); 
var total = t.TotalMinutes; 
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 
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); 
    } 
0

Вы можете использовать Convert.ToSingle, вот так:

var ts = new Timespan(0, 1, 1, 30); 
var minutes = Convert.ToSingle(ts.TotalMinutes); 
var hours = Convert.ToSingle(ts.TotalHours); 

Полученный minutes и hours будет, соответственно, 61.5 и 1.025

проверить этот dotnetfiddle: https://dotnetfiddle.net/uSQfk0

Смежные вопросы