我在几分钟内保存了一段时间,想要输出"1天5小时30分钟".目前我将分钟添加到Timespan并执行以下操作:
TimeSpan ts = new TimeSpan(0,0,1800, 0);
Response.Write(ts.Days + "day(s) " + ts.Hours + " hour(s)" + ts.Minutes + " minutes");
Run Code Online (Sandbox Code Playgroud)
但现在我只对一天的工作时间感兴趣.因此,当TimeSpan的持续时间为27小时时,它不应创建输出"1天3小时".我想要"3天3小时".
使用Timespan对象可能有一种简单的方法吗?是否可以更改TimeSpan的默认行为?或者我是否必须编写自己的自定义Timespan-Class?
Thx cpt.oneeye
Blu*_*kMN 10
你能简单地使用:
(int)(ts.TotalHours / 8)
Run Code Online (Sandbox Code Playgroud)
而不是ts.Days?然后用
(((int)ts.TotalHours) % 8)
Run Code Online (Sandbox Code Playgroud)
而不是ts.Hours.
你需要实现这样的事情:
TimeSpan workday = new TimeSpan(8, 0, 0);
int workdays = ts.Ticks / workday.Ticks
TimeSpan rest = new TimeSpan(ts.Ticks % workday.Ticks)
Response.Write(workdays + "workday(s) and" + rest.ToString());
Run Code Online (Sandbox Code Playgroud)
会写类似的东西
"3 workday(s) and 3:32"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2391 次 |
| 最近记录: |