在C#中将时间转换为十进制

Xav*_*ier 15 c# time

我需要做的是,有两个由用户输入的定义字符串,

string in = "9:35"; //am
string out = "11:55"; //am
Run Code Online (Sandbox Code Playgroud)

我需要减去它们,以便获得它们签署的总小时数.这应该相等:

string total = "2:20"
Run Code Online (Sandbox Code Playgroud)

然后,我需要将其转换为十进制..所以,2:20将是

string decimal = "2.33";
Run Code Online (Sandbox Code Playgroud)

我不知道该怎么做,任何帮助将不胜感激!

PS:id也喜欢能够从十进制数中计算出他们检查的总小时数,所以基本上相反

Bra*_*don 30

DateTime dt1 = DateTime.Parse("11:55");    
DateTime dt2 = DateTime.Parse("9:35");

double span = (dt1 - dt2).TotalHours;
Run Code Online (Sandbox Code Playgroud)

你真的需要"2:20"还是只是一个中间步骤?

编辑:如果你想回去,你只需要做一些数学运算.取小数的余数乘以60,然后舍入.那些将是分钟,所以只需将它们添加到小时.


Ras*_*mus 13

或者你可以这样做:

decimal dec = Convert.ToDecimal(TimeSpan.Parse("11:30").TotalHours);
// returns:  11.5
Run Code Online (Sandbox Code Playgroud)