我从TimeSpan.TotalHours24,75小时开始.我怎样才能将其转换为完整而非圆满小时(= 24)加上分钟(0,75小时= 45分钟)?所以结果应该是小时= 24和分钟= 45
我试图将它转换为字符串并生成子字符串,但我想知道是否有比这更好的方法.
string test = Reststunden.TotalHours.ToString().Substring(Reststunden.TotalHours.ToString().IndexOf(","),3).Replace(",", "");
double Minuten = Convert.ToInt16(test) * 0.6;
Run Code Online (Sandbox Code Playgroud)
只需通过强制转换适当地舍入总小时数,然后使用该Minutes属性:
int hours = (int) timeSpan.TotalHours;
int minutes = timeSpan.Minutes;
Run Code Online (Sandbox Code Playgroud)
如果您曾经有一个否定的TimeSpan,您应该考虑您想要的结果并添加适当的测试 - 您很可能会发现上面的简单代码并没有达到您想要的效果。
怎么样:
var ts = TimeSpan.FromHours(24.75);
var h = System.Math.Floor(ts.TotalHours);
var m = (ts.TotalHours - h) * 60;
Run Code Online (Sandbox Code Playgroud)
甚至:
var h = (int) (ts.TotalMinutes / 60);
var m = ts.TotalMinutes % 60;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4592 次 |
| 最近记录: |