StartCopying = DateTime.Now;
File.Copy(@"C:\Users\sshap5x\Desktop\line4\shiraDebbi\Hackers.avi", @"C:\Users\sshap5x\Desktop\test\Hackers.avi", true);
EndCopying = DateTime.Now;
CopyingTime1 = (endCopying - startCopying).Duration;
我的代码有什么问题?
复制时间是TimeSpan对象。
答案 0 :(得分:5)
作业分配给StartCopying
和EndCopying
,但您可以阅读其他变量startCopying
和endCopying
中的数据。
C#区分大小写。
持续时间也是一种方法。所以你需要使用.Duration()
正如您对问题的评论中所建议的那样,为了更好地解决问题,请使用Stopwatch
类。
答案 1 :(得分:3)
// This prints 0.1 (roughly)
DateTime start = DateTime.Now;
Thread.Sleep(100);
var diff = DateTime.Now - start;
Console.WriteLine(diff.TotalSeconds);
在你的代码中(甚至不编译)你使用.Duration
作为属性,而它实际上是一个方法。在任何情况下,您根本不需要调用持续时间,因为减法返回的结果是包含差异的TimeSpan
。然后,您可以以您需要的任何格式(毫秒,秒,小时,天等)获得此差异。
Duration方法的唯一需要是,如果您不确定结果是否为正或负。
答案 2 :(得分:1)
您是否忘记了变量EndCopying和StartCopying的持续时间和大小写的()?
DateTime StartCopying = DateTime.Now;
DateTime EndCopying = DateTime.Now;
TimeSpan CopyingTime1 = (EndCopying - StartCopying).Duration();