组合两个字符串并按日期/时间排序

com*_*alt 1 vbscript asp-classic

我想看看是否可以组合两个字符串并按日期/时间排序?

dim strcountstf
dim strDateNTimes
dim strCOMBO
strcountstf = "02/01/2012 3:05am###,02/02/2012 7:05am###,02/05/2012 8:30pm###"
strDateNTimes = "02/01/2012 2:20am###,02/02/2012 8:00am###,02/06/2012 6:45pm###"

strCOMBO = strcountstf & strDateNTimes
Run Code Online (Sandbox Code Playgroud)

现在strCOMBO会给我两个字符串,但我需要按日期/时间排序,也许使用CDate函数?

再次感谢大家,我非常感谢你给我的所有帮助.

ami*_*t_g 5

看一下这个排队并使用它,你可以做这样的事情

dim strcountstf
dim strDateNTimes
dim strCOMBO
dim arrCOMBO
dim strCOMBOSorted
dim objSortedList
dim i

strcountstf = "02/01/2012 3:05am###,02/02/2012 7:05am###,02/05/2012 8:30pm###"
strDateNTimes = "03/01/2011 2:20am###,02/02/2012 8:00am###,02/06/2012 6:45pm###"

strCOMBO = strcountstf & "," & strDateNTimes

arrCombo = Split(strCOMBO, ",")

Set objSortedList = Server.CreateObject("System.Collections.SortedList")

For i = LBound(arrCombo) To UBound(arrCombo)
    Call objSortedList.Add(CDate(Replace(arrCombo(i), "###", "")), arrCombo(i))
Next

strCOMBOSorted = ""

For i = 0 To objSortedList.Count - 1
    strCOMBOSorted = strCOMBOSorted & ", " & objSortedList.GetByIndex(i)
Next

strCOMBOSorted = Right(strCOMBOSorted, Len(strCOMBOSorted) - 2)

Set objSortedList = Nothing

Response.Write("<br>")
Response.Write(strCOMBO)
Response.Write("<br>")
Response.Write(strCOMBOSorted)
Run Code Online (Sandbox Code Playgroud)

结果:

02/01/2012 3:05am###,02/02/2012 7:05am###,02/05/2012 8:30pm###,03/01/2011 2:20am###,02/02/2012 8:00am###,02/06/2012 6:45pm###
03/01/2011 2:20am###, 02/01/2012 3:05am###, 02/02/2012 7:05am###, 02/02/2012 8:00am###, 02/05/2012 8:30pm###, 02/06/2012 6:45pm### 
Run Code Online (Sandbox Code Playgroud)

请注意,您必须确保可以使用CDate函数解析字符串并生成有效日期或在调用时执行任何操作,Call objSortedList.Add(CDate(Replace(arrCombo(i), "###", "")), arrCombo(i))即第一个参数(Key)必须是有效日期,如果要排序依据日期.