时间跨度从分钟到所有小时和分钟,不含天

问题描述 投票:0回答:1

我想将分钟转换为小时:分钟。我可以做

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 来完成这个任务吗?或者任何其他方法。

c# asp.net-mvc asp.net-core timespan minute
1个回答
0
投票

这应该有效:

int minutes = 1515;
int totalHours = minutes / 60;
int minutesRemainder = minutes % 60;
string time = $"{totalHours:D2}:{minutesRemainder:D2}";

我们不需要 TimeSpan 来计算小时和分钟,因此我们只需使用除法和余数即可获得这两部分。 两个整数相除总是产生一个整数,因此部分分钟被它删除。

然后我们使用 D2 格式格式化数字,因此需要用零填充数字(例如“01”)。 (数字格式文档

© www.soinside.com 2019 - 2024. All rights reserved.