C#勾选日期时间和格式

C#勾选日期时间和格式,c#,datetime,C#,Datetime,如何将刻度转换为datetime并将其格式化为“ss:fff”? 我的代码: 它在mono上正常工作(我想,我试过类似的东西,它工作了),但在windows上不工作。有什么问题吗?如果操作耗时超过一分钟,您无论如何都不想使用DateTime格式(因为“ss”格式将显示09达69秒 这将正确调整漂移的经过时间 DateTime start = DateTime.UtcNow; timer = new DispatcherTimer(new TimeSpan(0, 0, 0, 0, 1), Disp

如何将刻度转换为datetime并将其格式化为“ss:fff”? 我的代码:


它在mono上正常工作(我想,我试过类似的东西,它工作了),但在windows上不工作。有什么问题吗?

如果操作耗时超过一分钟,您无论如何都不想使用DateTime格式(因为
“ss”
格式将显示
09
69

这将正确调整漂移的经过时间

DateTime start = DateTime.UtcNow;
timer = new DispatcherTimer(new TimeSpan(0, 0, 0, 0, 1), DispatcherPriority.Normal, delegate
{
    DateTime current = DateTime.UtcNow;
    TimeSpan elapsed = current - start;
    this.Show.Text = elapsed.TotalSeconds.ToString ("00.000 seconds"); // a double converted to string.
}, this.Dispatcher);
编辑:

您的代码没有显示您调用
timer.Start()
来实际启动计时器

它也没有显示如何防止计时器被垃圾收集:
this.elapsedtimer=timer;

编辑2:
TotalSeconds.ToString(“00.000秒”)
使用了这个重载。

我们需要更多的信息。您得到的错误消息是什么?我希望代码用于显示DispatchTimer可以漂移多少,而不是用于[其他]有用的目的……“它不起作用”没有说明出了什么问题…我正在做一个计时器应用程序。当我单击开始按钮时,它只显示00:000(但它应该正在运行)。你启动计时器了吗?转换器是如何工作的?(我指的是ToString方法中的格式)此外,计数刻度然后转换它们不会更快吗?它会更快,但不会工作。;-)调度程序计时器不够精细,无法一次执行代码1(100纳秒)。您知道吗?net滴答声与1/1000秒不同?请参见编辑2:TotalSeconds.ToString(“00.000秒”)使用了Double.ToString.Ok的重载,这是一个有效的新日期时间(经过的.Ticks)。ToString(“ss:fff”);但是,如果我使用我自己数的滴答声,为什么这不起作用呢?“一个滴答声代表一百纳秒或一千万分之一秒。一毫秒内有10000个滴答声。”-计时器不够精确。您可以尝试计数毫秒,但自己无法计数滴答声。
DateTime start = DateTime.UtcNow;
timer = new DispatcherTimer(new TimeSpan(0, 0, 0, 0, 1), DispatcherPriority.Normal, delegate
{
    DateTime current = DateTime.UtcNow;
    TimeSpan elapsed = current - start;
    this.Show.Text = elapsed.TotalSeconds.ToString ("00.000 seconds"); // a double converted to string.
}, this.Dispatcher);