如何以min:sec格式转换秒数

时间:2010-09-08 06:05:57

标签: c#

如何以分钟为单位转换秒数:第二种格式

10 个答案:

答案 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