我有遗留的 Delphi 代码。它减去两个日期,得到一个整数值。
日期时间 DatPostG = 2018/08/01
日期时间 DatStartG = 2018/01/01
在德尔福:
intValue := DatPostG - DatStartG;
给出 212。
在 C# 中,我尝试这样做,但它给出了错误的值:
TimeSpan tmElapsed = DatPostG - DatStartG;
ir1 = (int)Math.Round(tmElapsed.TotalMinutes, 0, MidpointRounding.ToEven);
它给出了 305280。
请问如何构造 C# 代码以提供与上面的 Delphi 代码相同的值?
可能在
TotalMinutes
中有些东西,内部转换?
因为在Delphi中,它允许直接通过两个日期相减得到一个整数值。如何在 C# 中执行相同操作并给出值 212?
我在 C# 中找到了解决方案。看起来像在 Delphi 中它减去两个日期并给出一个整数值作为天。所以我们需要在
TotalDays
中添加 TimeSpan
,而不是 TotalMinutes
:
TimeSpan tmElapsed = DatPostG - DatStartG;
ir1 = (int)Math.Round(tmElapsed.TotalDays, 0, MidpointRounding.ToEven);
给出了212