我在VBA中存储了大量数据,然后将该文件导出到excel中。如果时间大于一个小时,我可以收集时间,但如果时间小于59分钟,我就无法收集时间。我正在使用类似的函数来计算时间差
var
发布于 2018-06-21 04:32:10
首先,TIMEDIFF
是一个我没有立即找到文档的函数。
此外,时间/日期通常以天表示。
为了得到小时数,你可以将乘以24得到小时数(然后60代表分钟,等等),而不是除法。
使用现有函数
使用内置函数计算时间差的一种简单方法是使用DateDiff
,它的签名为:
DateDiff( interval, date1, date2, [firstdayofweek], [firstweekofyear] )
有很多时间间隔供你选择,从一年到第二年不等。分钟是"n“。
例如:
DateDiff("n", "00:00", "12:00") '-> Result: 0.5
文档:msdn.microsoft.com/.../datediff-function
简单数学版
更简单的方法是直接减去:
abs(time2 - time1)
结果会在几天内出来。
编辑:
我鼓励你确保你的函数做你期望它们做的事情,而不仅仅是把一些可以工作的东西拼凑在一起,而是在进一步的更改中断时。这是一个糟糕的编码实践,你什么也学不到。
然而,为了给出响应,一种简单的间接方法可以获得最小的截止时间为一个小时,只需取您想要的最小值,将其与您的值进行比较,然后在两者中选择较大的值。
calculatedValue <- SomeNumber
cutoffValue <- 1/24
chosenValue <- MAX(calculatedValue, cutoffValue)
https://stackoverflow.com/questions/50956208
复制相似问题