比较 VBScript 中的五个日期 [英] Comparing five dates in VBScript
本文介绍了比较 VBScript 中的五个日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我编写了以下代码来查找五个日期中最早的日期.它按预期工作,但我很好奇是否有更优雅的方式来比较五个日期.有人有什么想法吗?
I've written the following code to find the oldest of five dates. It works as expected, but I'm curious if there's a more elegant way to compare five dates. Does anyone have any ideas?
Dim sTemp
sTemp = ""
If IsDate(dtOne) Then
If IsDate(dtTwo) Then
If CDate(dtOne) < CDate(dtTwo) Then
sTemp = dtOne
Else
sTemp = dtTwo
End If
Else
sTemp = dtOne
End If
ElseIf IsDate(dtTwo) Then
sTemp = dtTwo
End If
If IsDate(dtThree) Then
If IsDate(sTemp) Then
If CDate(dtThree) < CDate(sTemp) Then
sTemp = dtThree
End If
Else
sTemp = dtThree
End If
End If
If IsDate(dtFour) Then
If IsDate(sTemp) Then
If CDate(dtFour) < CDate(sTemp) Then
sTemp = dtFour
End If
Else
sTemp = dtFour
End If
End If
If IsDate(dtFive) Then
If IsDate(sTemp) Then
If CDate(dtFive) < CDate(sTemp) Then
sTemp = dtFive
End If
Else
sTemp = dtFive
End If
End If
推荐答案
这样的事情怎么样,它会做每次比较,如果传递的变量都不是日期,它会将 sTemp 恢复为":
How about something like this, it does each comparison and if neither passed variables are date it restores sTemp to "":
Dim sTemp
sTemp = ""
sTemp = OldestDate(dtOne, dtTwo)
sTemp = OldestDate(dtThree, sTemp)
sTemp = OldestDate(dtfour, sTemp)
sTemp = OldestDate(dtfive, sTemp)
Function OldestDate(dtOne, dtTwo)
If IsDate(dtOne) Then
If IsDate(dtTwo) Then
If CDate(dtOne) < CDate(dtTwo) Then
OldestDate = dtOne
Else
OldestDate = dtTwo
End If
Else
OldestDate = dtOne
End If
ElseIf IsDate(dtTwo) Then
OldestDate = dtTwo
Else
OldestDate = ""
End If
End Function
这篇关于比较 VBScript 中的五个日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文