如果我像70 80或2500那样有一个秒,我怎么用格式的时间hh:mm:ss用最简单的方式显示它。我知道我可以为它做一个单独的方法,但我想检查是否有任何已经可用的lib功能。 这是我创建的方法并且有效。
private void MakeTime(int seconds)
{
int min = 0;
int sec = seconds;
int hrs = 0;
if (seconds > 59)
{
min = seconds / 60;
sec = seconds % 60;
}
if (min > 59)
{
hrs = min / 60;
min = min % 60;
}
string a = string.Format("{0:00}:{1:00}:{2:00}", hrs, min, sec);
}
这是我现在使用的功能。它有效,但我仍然觉得单线呼叫会做到这一点。任何人都知道吗?
答案 0 :(得分:8)
您可以使用TimeSpan
TimeSpan t = TimeSpan.FromSeconds(seconds);
和
使用t.Hours
,t.Minutes
和t.Seconds
来设置字符串的格式。
答案 1 :(得分:5)
TimeSpan.FromSeconds(seconds).ToString("hh:mm:ss")
答案 2 :(得分:4)
试试这个:
TimeSpan t = TimeSpan.FromSeconds(seconds);
string a = string.Format("{0:00}:{1:00}:{2:00}", t.Hours, t.Minutes, t.Seconds);
答案 3 :(得分:2)
TimeSpan ts = TimeSpan.FromSeconds(666);
string time = ts.ToString();
答案 4 :(得分:1)
使用TimeSpan:
TimeSpan ts = TimeSpan.FromSeconds(70);
答案 5 :(得分:1)
你不能仅仅使用DateTime这样的原因吗?
DateTime t = new DateTime(0);
Console.WriteLine("Enter # of seconds");
string userSeconds = Console.ReadLine();
t = t.AddSeconds(Int32.Parse(userSeconds));
Console.WriteLine("As HH:MM:SS = {0}:{1}:{2}", t.Hour, t.Minute, t.Second);