' *************************************************************************************************************** ' *** Function dateFromAsp (dateInput, byref strOutput, strOutputFormat) *** ' *** Description Converts dateformat from strInputDate to strOutputDate *** ' *** Argument dateInput - asp date (mm/dd/yyyy) *** ' *** strOutputDate - output variable of formattes date *** ' *** strOutputFormat - eg. dd/mm/yyyy *** ' *** Returns True if convertaion is done *** ' *** False if convertation failed *** ' *** session("strErr") *** ' *** session("functionErr") *** ' *************************************************************************************************************** Function dateFromAsp (dateInput, byref strOutput, strOutputFormat) If trim(dateInput) = "" Then dateInput = date End If Dim locErr, strDel, strTmpDate, strTmpYYYY, strTmpDD, strTmpMM locErr = False ' Function error flag strDel = "" ' String delimiter in strInputDate
' Validate arguments If strInputDate = "" Then session("functionErr") = session("functionErr") & "Function dateFromAsp called by EMPTY strInputDate<br>" locErr = True End If If strOutputFormat = "" Then session("functionErr") = session("functionErr") & "Function dateFromAsp called without specified var: strOutputFormat<br>" locErr = True End If strOutputFormat = lcase(strOutputFormat)
' Determine delimiter in strInputDate If ucase(mid(strOutputFormat,3,1)) = "Y" Then strDel = ucase(mid(strOutputFormat,5,1)) Else strDel = ucase(mid(strOutputFormat,3,1)) End if
' Extract dates
strTmpYYYY = DatePart("yyyy",dateInput)
strTmpDD = DatePart("d",dateInput) If len(strTmpDD) <2 Then strTmpDD = "0" & strTmpDD
strTmpMM = DatePart("m",dateInput) If len(strTmpMM) <2 Then strTmpMM = "0" & strTmpMM
' *************************************************************************************************************** ' *** Function dateToASP (dateInput, byref strOutput, strInputFormat) *** ' *** Description Converts dateformat from strInputDate to strOutputDate *** ' *** Argument dateInput - asp date (mm/dd/yyyy) *** ' *** strOutputDate - output variable of formattes date *** ' *** strInputFormat - eg. dd/mm/yyyy *** ' *** Returns True if convertaion is done *** ' *** False if convertation failed *** ' *** session("strErr") *** ' *** session("functionErr") *** ' *************************************************************************************************************** Function dateToASP (dateInput, byref strOutput, strInputFormat) Dim locErr, strDel, strTmpDate, strTmpYYYY, strTmpDD, strTmpMM locErr = False ' Function error flag strDel = "" ' String delimiter in strInputDate dateInput = CStr(dateInput)
If InStr(lcase(strInputFormat), "time") > 0 Then strAspFormat = "mm/dd/yyyy time" Else strAspFormat = "mm/dd/yyyy" End If
' Validate arguments If strInputDate = "" Then session("functionErr") = session("functionErr") & "Function dateToASP called by EMPTY strInputDate<br>" locErr = True End If If strInputFormat = "" Then session("functionErr") = session("functionErr") & "Function dateToASP called without specified var: strInputFormat<br>" locErr = True End If strInputFormat = lcase(strInputFormat)
' Determine delimiter in strInputDate If ucase(mid(strInputFormat,3,1)) = "Y" Then strDel = ucase(mid(strInputFormat,5,1)) Else strDel = ucase(mid(strInputFormat,3,1)) End if ' Extract dates posYYYY = InStr(strInputFormat,"yyyy") posDD = InStr(strInputFormat,"dd") posMM = InStr(strInputFormat,"mm") posTIME = InStr(strInputFormat,"time")
If posYYYY > 0 Then strTmpYYYY = cint(Mid(dateInput,posYYYY,4)) End If
intLength = 0 If posDD > 0 Then If IsNumeric(Mid(dateInput,posDD,2)) Then intLength = 2 Else intLength = 1 End If strTmpDD = cint(Mid(dateInput,posDD,intLength)) End If
If posMM > 0 Then If IsNumeric(Mid(dateInput,posMM,2)) Then intLength = 2 Else intLength = 1 End If strTmpMM = cint(Mid(dateInput,posMM,intLength)) End If
If posTIME > 0 Then strTIME = cstr(Mid(dateInput,posTIME,5)) End If
Hov, havde ikke lige set dit spørgsmål om at skrive koden færdig....
Ovenstående funktioner ser umiddelbart ud til at klare det, men vil du have en lidt kortere udgave, i stil med det jeg har skrevet før, kan du gøre sådan:
function RetDato(daten) y = year(daten) m = right("0"&month(daten),2) d = right("0"&day(daten),2) h = right("0"&hour(daten),2) mi = right("0"&minute(daten),2) s = right("0"&second(daten),2)
RetDato = d & "-" & m & "-" & y & " " & h & ":" & mi & ":" & s end function
Du kan evt udelade linien med 's = right......' og ' & s' i sidst linie af funktione, hvis du ikke vil have sekunder med.
sorry det er mig der er stiv den virker nu tak .-)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.