我目前正在使用下面的函数将日期列表中最近的日期返回到日期(今天)。我的问题是,该函数返回最接近的日期,无论它是今天日期的过去还是未来。如何更改此代码,以便可以选择返回今天之后的最近日期和今天之前的最近日期?这让我很困惑。
非常感谢您的意见。
Function GetNearestDate(ByVal source As IEnumerable(Of DateTime), ByVal target As DateTime) As DateTime
Dim result As DateTime = Nothing
Dim lowestDifference = TimeSpan.MaxValue
For Each _date As DateTime In source
If _date >= target Then
Continue For
End If
Dim difference = target - _date
If difference < lowestDifference Then
lowestDifference = difference
result = _date
End If
Next
Return result
End Function