如何以分钟为单位转换秒数:第二种格式
答案 0 :(得分:36)
多功能版本使用TimeSpan
,如下所示:
var span = new TimeSpan(0, 0, seconds); //Or TimeSpan.FromSeconds(seconds); (see Jakob C´s answer)
var yourStr = string.Format("{0}:{1:00}",
(int)span.TotalMinutes,
span.Seconds);
答案 1 :(得分:27)
int totalSeconds = 222;
int seconds = totalSeconds % 60;
int minutes = totalSeconds / 60;
string time = minutes + ":" + seconds;
答案 2 :(得分:18)
为了完整起见,我将使用TimeSpan
(从.NET 4.0起作用)添加答案:
int seconds = 1045;
var timespan = TimeSpan.FromSeconds(seconds);
Console.WriteLine(timespan.ToString(@"mm\:ss"));
答案 3 :(得分:6)
这样的事情:
string minSec = string.Format("{0}:{1:00}", seconds / 60, seconds % 60);
请注意,这将确保秒始终显示为两位数,例如“2:05”持续125秒。会议记录目前没有采用相同的方式处理,但当然可能是。
这与负数无关。如果你的秒数可能是负数,你可能需要这样的东西:
string minSec = string.Format("{0}:{1:00}", seconds / 60,
(Math.Abs(seconds)) % 60);
最后,你总是会有不到一小时的秒数吗?当你真正的意思是“1:20:00”时,看到“80:00”可能看起来很奇怪。
答案 4 :(得分:4)
double seconds=125;
TimeSpan.FromSeconds(seconds).ToString()
会给你:00:02:05
。根据我的理解,这个内置解决方案更具可扩展性,因为它可以给你几个小时,而不需要任何逻辑管道。
答案 5 :(得分:2)
var seconds = 60;
//10,000 ticks in a millisecond
var ticks = seconds*10000*1000;
DateTime dt = new DateTime(ticks);
dt.ToString("mm:ss");
答案 6 :(得分:2)
简单的数学。 60秒到一分钟。
int mins = totalseconds/60;
int secs = totalseconds % 60;
Console.Writeline(string.Format("{0}:{1}", mins, secs));
答案 7 :(得分:2)
另一种显示秒数的方法,例如“2:05”可以使用PadLeft。
string time = minutes.ToString() + ":" + seconds.ToString().PadLeft(2,'0');
答案 8 :(得分:0)
什么对我有用......
public static string SecondsToMinutes(int seconds)
{
var ts = new TimeSpan(0, 0, seconds);
return new DateTime(ts.Ticks).ToString(seconds >= 3600 ? "hh:mm:ss" : "mm:ss");
}
答案 9 :(得分:0)
没有严格回答原来的问题,但是如果将来有人(或我自己)来谷歌想要用毫秒来格式化一个浮点数:
float secs = 23.69;
string m_ss_mmm = string.Format("{0}:{1:00}.{2:000}", (int)secs / 60, (int)(secs % 60), (secs - ((int)secs)) * 1000);
结果:
0:23.690