在这篇博文中,我将讨论一种使用日期/时间函数时可以使用的方法。使用微流计算时间差异时,您很快就会搞不清楚所使用的函数是否会产生正确的时间输出。
观察到的另一个常见问题是,特别是如果您以分钟为单位计算时间差异,您需要做一些额外的计算才能正确显示秒和分钟。
例如:
在此示例中,我将创建一个微流程,用于计算用户完成任务所需的平均时间(假设用户正在使用任务管理应用程序)。此时间需要以以下格式显示 X最小Y秒,其中 X 是显示分钟平均时间的变量,Y 是秒平均时间的变量,如下所示:

配置
乍一看,这可能是一项艰巨的任务,因为您需要将平均时间分成两个变量,同时还要确保时间正确显示分钟和秒的时间。下图显示了处理此问题的微流程:

虽然这看起来可能不是一个非常复杂的微流程,但最后一个操作按钮需要一点复杂性,如果配置不正确,也可能成为开发人员头疼的根本原因。为了计算上面提到的两个时间变量,您需要创建两个函数来计算以下内容:
- 计算完成一项任务的平均时间,然后将该数字向下舍入,以便最终结果就是平均时间分钟值。
- 计算完成一项任务的平均时间,然后减去上面计算的平均分钟值,因此最终结果就是平均时间秒值。
为了实现这一点,我们将利用以下两个微流功能:
- 四舍五入 – 将浮点数四舍五入到指定的精度
- Floor——对浮点数进行向下舍入
调试技巧
在调试上述属性计算时,最好通过在微流中创建仅包含该特定计算部分的变量来分解每个 IF 语句的每个部分。此方法允许您在建模器中设置准确的调试器断点,从而可以轻松发现方程的哪个部分不正确。以下是如何调试上述属性的示例:

每个突出显示的选择都将在其自己的变量中复制,以便用户可以通过调试器查看这些函数中是否有任何函数正在计算不正确的值。

如上所示,我们创建了五个特定变量,以捕获计算属性的每个函数。然后,您要做的就是在第一部分添加一个调试器断点,并查看计算值。如果这是一个可接受的值,则可以转到第二个变量。如果变量不是可接受的值,则可以处理该部分代码。这个过程将使您能够准确地发现错误所在,并减少您在正常计算复杂属性时产生的挫败感,如果它们的值不正确,您不知道从哪里开始。
在结论
利用 Mendix 只要你按照系统的方法调试代码,建模器就可以成为一种强大的方式来直观地显示用户完成任务的指标。
