根据c#中的秒数创建时间

时间:2011-05-14 04:20:10

标签: c#

如果我像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);
    }

这是我现在使用的功能。它有效,但我仍然觉得单线呼叫会做到这一点。任何人都知道吗?

6 个答案:

答案 0 :(得分:8)

您可以使用TimeSpan

TimeSpan t = TimeSpan.FromSeconds(seconds);

使用t.Hourst.Minutest.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);