0

我没有真正的问题,但我更喜欢为一个问题寻求创造性的输入。

我想比较两个(很可能不相等的)日期值并计算它们的相似性比率。因此,例如,如果我进行比较08.01.201310.01.2013我会得到一个相对较高的值,但介于两者之间08.01.201317.04.1998它会非常低。

但现在我不确定我应该如何准确计算相似度。首先,我正在考虑将 Date 值转换为字符串,然后在它们上使用 EditDistance(将一个字符串转换为另一个字符串的单个字符操作的数量)。在某些情况下,这似乎是一个好主意,我肯定会实现它,但我还需要一个适当的计算,比如31.01.201302.02.2013

4

2 回答 2

1

为什么不使用两个日期之间的天数差异作为起点呢?相似日期为“低”,不等日期为“高”,然后使用算术获得符合您要求的“相似率”。

如果您遇到困难,请考虑过去“足够早”的固定参考日期。

于 2013-01-08T12:28:15.073 回答
0

可以使用Levenshtein距离计算编辑距离。

一年的变化比一天的变化意味着更多的“距离”。比较天数的常用方法是以天或小时为单位计算距离。为此,您需要将两个日期转换为序列日数。Microsoft为日期比较和距离计算提供了DateDiff()函数。

于 2013-01-08T12:27:43.787 回答