C# 和 Delphi 语言中两个日期时间相减得到整数值

问题描述 投票:0回答:1

我有遗留的 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# .net datetime delphi timespan
1个回答
-1
投票

我在 C# 中找到了解决方案。看起来像在 Delphi 中它减去两个日期并给出一个整数值作为天。所以我们需要在

TotalDays
中添加
TimeSpan
,而不是
TotalMinutes
:

TimeSpan tmElapsed = DatPostG - DatStartG;
ir1 = (int)Math.Round(tmElapsed.TotalDays, 0, MidpointRounding.ToEven);

给出了212

© www.soinside.com 2019 - 2024. All rights reserved.