在 C# 中基于秒创建时间

本文关键字:创建 时间 于秒 | 更新日期: 2023-09-27 17:56:38

如果我有一个像 70 80 或 2500 这样的整数秒,我如何使用最简单的方法将其显示为格式 hh:mm:ss 的时间。我知道我可以为它制作一个单独的方法,我做到了,但我想检查是否有任何可用的 lib func。这是我创建的方法,它有效。

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);
    }

这是我现在使用的功能。 它有效,但我仍然觉得单线调用可以做到这一点。有人知道吗?

在 C# 中基于秒创建时间

您可以使用

TimeSpan

TimeSpan t = TimeSpan.FromSeconds(seconds);

使用 t.Hourst.Minutest.Seconds 根据需要设置字符串的格式。

TimeSpan.FromSeconds(seconds).ToString("hh:mm:ss")

试试这个:

        TimeSpan t = TimeSpan.FromSeconds(seconds);
        string a = string.Format("{0:00}:{1:00}:{2:00}", t.Hours, t.Minutes, t.Seconds);
    TimeSpan ts = TimeSpan.FromSeconds(666);
    string time = ts.ToString();

使用 TimeSpan:

TimeSpan ts = TimeSpan.FromSeconds(70);
为什么

你不能像这样只使用 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);