在 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);
}
这是我现在使用的功能。 它有效,但我仍然觉得单线调用可以做到这一点。有人知道吗?
您可以使用
TimeSpan
TimeSpan t = TimeSpan.FromSeconds(seconds);
和
使用 t.Hours
、 t.Minutes
和 t.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);