我如何获得正的 TimeSpan 如果第二个 DateTime 大于第一个?

Tar*_*sov 0 c# asp.net time datetime timespan

嗨,我在 C# 中遇到了 TimeSpan 问题。

在我的应用程序中,我计算了两次时间的差异。这是怎么回事->

12:00:30 - 12:00:00 = 00:00:30 
Run Code Online (Sandbox Code Playgroud)

但我的问题是如果第二次比第一次大...我得到一个负数:(

1:00:00 - 23:00:00 = -22:00:00 
Run Code Online (Sandbox Code Playgroud)

但我想要一个正数,这是怎么回事 -->

1:00:00 - 23:00:00 -> 2:00:00 
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

private static int GetTimeSpan(string Out, string In) {

            try
            {
                TimeSpan diff = DateTime.Parse(In) - DateTime.Parse(Out);

                double TotalSec = diff.TotalSeconds;

                return (int)TotalSec;
            }
            catch (Exception)
            {
                return 0;
            }

        }
Run Code Online (Sandbox Code Playgroud)

Jon*_*Jon 5

您正在寻找TimeSpan.Duration(),它返回 a 的绝对值TimeSpan

TimeSpan diff = (DateTime.Parse(In) - DateTime.Parse(Out)).Duration();
Run Code Online (Sandbox Code Playgroud)