【发布时间】:2018-04-24 10:16:27
【问题描述】:
我有员工在特定时期的工作时间总和。我需要将此工作持续时间转换为天、小时和分钟。问题是我的一天等于 9 小时,而不是 24 小时。意味着我将我的持续时间除以 9。但我得到的结果是以点为单位的,我无法转换为我渴望的格式。以下是我的代码:
var Durations = TimeSpan.FromMinutes(db.Attendances.Where(x => x.EmployeeId == id)
.Sum(x => TimeSpan.Parse(x.Duration).TotalMinutes));
var TotalDuration = string.Format("{0}:{1}", Durations.TotalHours, Durations.Minutes);
这个工作非常好。我得到以下格式的结果:
H:M
8:5
12:7
19:15
问题是当我将小时数除以 9 时,我需要将小时数转换为天数和小时数。例如19. 如果我将 19 除以 9,我得到 2.111111 表示 2 天 1 小时。我怎样才能得到天和小时格式的答案?
【问题讨论】:
-
你的舍入机制是什么?
-
我正在使用 Math.Truncate。
-
出了什么问题:Days = Durations.TotalHours / 9;小时 = 持续时间。总小时数 % 9;分钟 = 持续时间.分钟; TotalDuration = string.Format("{0}/{1}/{2}", Days, Hours, Minutes); ?
-
我想将我的小时数转换为天数和小时数。一天的持续时间是 9 小时,而不是 24 小时。
-
所以我的建议应该可行...
标签: c# entity-framework datetime timespan