计算C#中的时差:

the*_*van 1 c# asp.net visual-studio-2010

我有两个字符串变量,如StartTime和EndTime.我需要通过用StartTime减去EndTime来计算TotalTime.

StartTime和EndTime的格式如下:

    StartTime = "08:00 AM";
    EndTime = "04:00 PM";
Run Code Online (Sandbox Code Playgroud)

小时和分钟格式的总时间.如何使用C#计算?

Nik*_*wal 8

将它们转换为DateTime其他一个并从中减去一个得到TimeSpan.

DateTime StartTime = DateTime.Parse("08:00 AM");

DateTime EndTime  = DateTime.Parse("04:00 PM"); // It converts this to 1600.

TimeSpan ts = EndTime - StartTime;
Run Code Online (Sandbox Code Playgroud)

当我运行上面的代码它给了我

ts.Days              // 0
ts.Hours             // 8
ts.Milliseconds      // 0
ts.Minutes           // 0
ts.Seconds           // 0
ts.Ticks             // 288000000000
ts.TotalDays         // 0.3333333333333333331
ts.TotalHours        // 8.0
ts.TotalMilliseconds // 28800000.0
ts.TotalMinutes      // 480.0
ts.TotalSeconds      // 28800.0
Run Code Online (Sandbox Code Playgroud)

得到你想要的.


bar*_*t s 6

您应该将字符串转换为DateTime并用于TimeSpan计算差异

DateTime d1 = DateTime.Parse(StartTime);
DateTime d2 = DateTime.Parse(EndTime);
TimeSpan ts = dt.Subtract(dt2);
Run Code Online (Sandbox Code Playgroud)

像上面这样的东西.你可能需要ParseExact而不是Parse

对于您的采样时间,ts.ToString()将返回一个字符串,"08:00:00"给出小时,分钟和秒的差异