我想将分钟转换为小时:分钟。我可以做
int minutes = 75 ;
string time = TimeSpan.FromMinutes((double)minutes).ToString(@"hh\:mm");
这将返回 01:15。但是,如果我这样做
int minutes = 1515;
string time = TimeSpan.FromMinutes((double)minutes).ToString(@"hh\:mm");
它还会返回 01:15,因为它会溢出到天数中。我不想做几天(dd),我想要的只是几个小时和几分钟。因此,对于 1515 分钟,期望的结果将是 25:15。
有办法用 TimeSpan 来完成这个任务吗?或者任何其他方法。
这应该有效:
int minutes = 1515;
int totalHours = minutes / 60;
int minutesRemainder = minutes % 60;
string time = $"{totalHours:D2}:{minutesRemainder:D2}";
我们不需要 TimeSpan 来计算小时和分钟,因此我们只需使用除法和余数即可获得这两部分。 两个整数相除总是产生一个整数,因此部分分钟被它删除。
然后我们使用 D2 格式格式化数字,因此需要用零填充数字(例如“01”)。 (数字格式文档)