将分钟转换为 8 小时工作日的时间跨度函数

Timespan function to convert minutes into 8 hour working days

需要在 C# 应用程序中计算,SLA 中的分钟数以格式显示:

N working days, N working hours, N working minutes

当前代码仅显示 hours:minutes 格式:

TimeSpan spWorkMin = TimeSpan.FromMinutes(12534);
string workHours = string.Format("{0}:{1:00}", (int)spWorkMin.TotalHours, spWorkMin.Minutes);
Console.WriteLine(workHours);

这里是用天数、小时数、分钟数显示时间跨度的代码:

TimeSpan spWorkMin = TimeSpan.FromMinutes(12534);
string workHours = $"{spWorkMin.Days} working days, {spWorkMin.Hours} working hours, {spWorkMin.Minutes} working minutes";
Console.WriteLine(workHours);

我不确定你想达到什么目的,但在每个平常的日子里,你有 3 个工作日。

var numberOfDays = minutes/60/24;
var numberOfBusinessDays = numberOfDays/3;
var numberOfBusinessHours = (numberOfBusinessDays - Math.Truncate(numberOfBusinessDays))*24;
var numberOfBusinessMinutes = (numberOfBusinessHours - Math.Truncate(numberOfBusinessHours)*60;

然后您可以从所有结果中截去小数部分

int numberOfBusinessDaysToInt = Math.Truncate(numberOfBusinessDays);
int numberOfBusinessHoursToInt = Math.Truncate(numberOfBusinessHours);
int numberOfBusinessMinutesToInt = Math.Truncate(numberOfBusinessMinutes);