我想在网页上显示持续时间,以毫秒为单位.到目前为止,我已经做到了这一点:我设法显示在标签上的输出:0时02分50秒,但我想显示毫秒为好,这样的结果应该是这样的00:02:50:000.我该如何实现这一目标?
代码背后:
protected void Page_Load(object sender, EventArgs e)
{
DateTime startTime = DateTime.Now;
// sleep for 2.5s
Thread.Sleep(2500);
DateTime stopTime = DateTime.Now;
TimeSpan duration = stopTime - startTime;
Result.Text = duration.ToString("mm':'ss':'ff");
}
Run Code Online (Sandbox Code Playgroud)
jam*_*wis 24
首先,如果你正在计时,我建议使用StopWatch类,因为它就是它的用途.您可以在System.Diagnostics命名空间中找到它:System.Diagnostics.Stopwatch
.
您可以实例化一个新的并使用一行代码开始测量经过的时间量:var stop = System.Diagnostics.Stopwatch.StartNew();
然后使用stop方法停止计时器:stop.Stop();
.然后,您可以使用Elapsed属性返回已用时间var elapsed = stop.Elapsed;
.
然后,为了显示经过的时间(以毫秒为单位),您将使用正确的参数在经过的时间跨度上调用ToString方法.
所以将所有代码放在一起看起来像这样:
protected void Page_Load(object sender, EventArgs e)
{
var timer = System.Diagnostics.Stopwatch.StartNew();
// sleep for 2.5s
Thread.Sleep(2500);
timer.Stop();
var elapsed = timer.Elapsed;
Result.Text = elapsed.ToString("mm':'ss':'fff");
}
Run Code Online (Sandbox Code Playgroud)
希望有所帮助!
詹姆士
该医生说:“FFF”为您提供:
日期和时间值中的毫秒数。
您正在使用“ff”,它为您提供:
日期和时间值中的百分之一秒。
因此,将您的代码更改为:
duration.ToString("mm':'ss':'fff");
Run Code Online (Sandbox Code Playgroud)
您当前的代码应该显示分钟,秒和百分之一秒。
Result.Text = duration.ToString("mm':'ss':'ff");
Run Code Online (Sandbox Code Playgroud)
要显示千分之一秒而不是百分之一秒:
// output: 00:02:500
Result.Text = duration.ToString("mm':'ss':'fff");
Run Code Online (Sandbox Code Playgroud)
请参阅自定义日期和时间格式字符串的文档。
归档时间: |
|
查看次数: |
19763 次 |
最近记录: |