C# DateTime计算和ToString
我对时间进行简单的计算,看看进程已经运行了多长时间。
(DateTime.Now - StrtTime).ToString("hh:mm:ss")
其中 StrtTime 是:DateTime StrtTime = DateTime.Now;
。但我遇到了一个例外:
Input string was not in a correct format.
执行此操作的正确方法是什么?
Im doing simple calculation with time, to see how long the process has been running.
(DateTime.Now - StrtTime).ToString("hh:mm:ss")
Where StrtTime is:DateTime StrtTime = DateTime.Now;
. But im getting an exception:
Input string was not in a correct format.
Whats the proper way to do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
一个
DateTime
减去另一个的结果是一个TimeSpan
值,而不是另一个DateTime
。TimeSpan
不支持您给定的格式字符串。对于标准
TimeSpan
格式字符串,请参阅此处 ,以及此处了解自定义格式。但是,要测量处理时间,您应该使用更适合该任务的工具,
System.Diagnostics.Stopwatch
。One
DateTime
subtracting another results in aTimeSpan
value, not anotherDateTime
. TheTimeSpan
does not support your given format string.For standard
TimeSpan
format strings, see here, and here for custom formats.However, to measure the process time, you should instead use a tool better equipped for the task,
System.Diagnostics.Stopwatch
.正如其他人提到的,您可能想要使用 StopWatch。但是,在您的特定情况下,您会收到错误,因为在
TimeSpan.ToString
中使用格式化字符串时需要转义“:”。试试这个:As others have mentioned you may want to use
StopWatch
. However in your particular case you are getting an error because you need to escape ":" when using a formatting string withTimeSpan.ToString
. Try this:尝试使用
Try using
正如安东尼提到的,秒表更适合这项任务。要回答您的问题,您可以像这样设置日期格式:
As Anthony mentioned, Stopwatch would be better suited for this task. To answer your question though, you can format the Date like this:
使用秒表类。
Use Stopwatch class.
正如安东尼所说,减法结果是一个
TimeSpan
。TimeSpan
接受不同的格式:TimeSpan.ToString 方法(字符串)
As Anthony said, the subtraction results in a
TimeSpan
.TimeSpan
accepts a different format:TimeSpan.ToString Method (String)