2014-11-03 81 views
1

我有六个变量与日期。我想检查什么具有最高和最低价值。检查变量的最高和最低日期

例:

Date1: 2014-06-12 00:00:00.000 
Date2: 2014-06-12 00:00:00.000 
Date3: 2014-10-20 00:00:00.000 
Date4: 2014-10-21 00:00:00.000 
Date5: 2014-10-21 00:00:00.000 
Date6: 2014-10-24 00:00:00.000 

输出应该是:

Highest: 2014-10-24 00:00:00.000 
Lowest: 2014-06-12 00:00:00.000 
+1

你有没有尝试过任何 – 2014-11-03 11:42:17

+0

是,很多ifs里面ifs – Khrys 2014-11-03 11:43:51

回答

3
Option Explicit 

' Prepare data to test 
Dim date1, date2, date3, date4, date5, date6 

    date1=CDate("2014/06/12") 
    date2=CDate("2014/06/12") 
    date3=CDate("2014/10/20") 
    date4=CDate("2014/10/21") 
    date5=CDate("2014/10/21") 
    date6=CDate("2014/10/24") 

' Initialize array  
Dim aDates 
    aDates = Array(date1, date2, date3, date4, date5, date6) 

' Prepare variables to store the required information  
Dim dateMin, dateMax 

    dateMin = date1 
    dateMax = date1 

' Iterate over the array to find the max and min values  
Dim i 
    For i=1 to UBound(aDates) 
     If aDates(i) < dateMin Then dateMin = aDates(i) 
     if aDates(i) > dateMax Then dateMax = aDates(i) 
    Next 

' Output Information 
    WScript.Echo "Highest: " & CStr(dateMax) 
    WScript.Echo " Lowest: " & CStr(dateMin) 
+0

谢谢你的时间!有效! – Khrys 2014-11-03 12:17:53

+0

仅供参考,您可以通过用'#'包围日期值来输入日期文字。不需要'CDate()'。例如'date1 =#2014/6/12#' – Bond 2014-11-03 20:30:44

2

创建您的日期排列和排序它

Dim DateArray() As DateTime = {"2014-06-12 00:00:00.000", "2014-06-12 00:00:00.000".....your dates here} 
    Dim MinDate As DateTime 
    Dim MaxDate As DateTime 

Array.Sort(DateArray) 

     MinDate = DateArray(DateArray.GetLowerBound(0)) 
     MaxDate = DateArray(DateArray.GetUpperBound(0)) 
+1

谢谢,但我得到一些sintax错误。我正在使用经典ASP – Khrys 2014-11-03 12:04:00

+1

'sintax错误'?现在很有趣! :P – Bart 2016-10-02 20:12:43