如何在C#中计算一秒的分数?

ant*_*nti 1 c# datetime

我正在计算程序中的时间码功能.为此,我需要小时,分钟,秒和每秒24次的额外值.

我的小时,分​​钟,秒是:

public void GetTime()
{
    Hours = float.Parse(DateTime.Now.ToString("HH"));
    Minutes = float.Parse(DateTime.Now.ToString("mm"));
    Seconds = float.Parse(DateTime.Now.ToString("ss"));
    Frames = ???
}
Run Code Online (Sandbox Code Playgroud)

如何计算帧值?(如果可能的话,不使用计时器)

谢谢.

Jon*_*eet 9

这听起来像你只是想要DateTime.Millisecond然后执行一些算术.

然而:

  • 您应该只调用DateTime.Now一次,以避免从不同的调用中获取不同的值,从而导致非常奇怪的显示
  • 无需执行格式化和解析
  • 不需要使用非整数类型

就像是:

public void GetTime()
{
    var now = DateTime.Now;
    Hours = now.Hour;
    Minutes = now.Minute;
    Seconds = now.Second;
    Frames = (now.Millisecond * 24) / 1000;
}
Run Code Online (Sandbox Code Playgroud)

现在这是计算部分.为了定期更新,您需要一个定时器或类似的东西.此外,由于系统时钟和定时器的性质,您不应期望此代码能够为您提供特别流畅的 UI; 它可能会感觉有点生涩.