Guten Morgen
Ich kenne mich mit SQL-Server nid so gut aus. Aber es sieht sehr danach aus, dass Du das Datum in falscher Form übergibst…
Ich hatte das Problem auch mal und bin dann nach Suche im Net auf folgende Funktion gestossen. Ich habe eigentlich direkt alles hier reingepostet. Falls es Dich aber interessiert, habe ich aber auch noch den…
Link:
http://www.pbdr.com/vbtips/asp/dateformat.htm
Aufruf:
strFormattedDate = ConvDate (dtmDate, strFormat)
Formatierungen:
%m Month as a decimal no. 02
%b Abbreviated month name Feb
%B Full month name February
%d Day of the month 23
%j Day of the year 54
%y Year without century 98
%Y Year with century 1998
%w Weekday as integer 5 (0 is Sunday)
%a Abbreviated day name Fri
%A Weekday Name Friday
%I Hour in 12 hour format 12
%H Hour in 24 hour format 24
%M Minute as an integer 01
%S Second as an integer 55
%P AM/PM Indicator PM
%% Actual Percent sign %%
Beispiel:
Dieses Beispiel wandelt ein US-Datum in europäisches Format um!
Quellcode der Funktion:
Function ConvDate(strDate, strFormat)
Dim intPosItem
Dim intHourPart
Dim strHourPart
Dim strMinutePart
Dim strSecondPart
Dim strAMPM
If not IsDate(strDate) Then
ConvDate = strDate
Exit Function
End If
intPosItem = Instr(strFormat, "%m")
Do While intPosItem \> 0
strFormat = Left(strFormat, intPosItem-1) & \_
DatePart("m",strDate) & \_
Right(strFormat, Len(strFormat) - (intPosItem + 1))
intPosItem = Instr(strFormat, "%m")
Loop
intPosItem = Instr(strFormat, "%b")
Do While intPosItem \> 0
strFormat = Left(strFormat, intPosItem-1) & \_
MonthName(DatePart("m",strDate),True) & \_
Right(strFormat, Len(strFormat) - (intPosItem + 1))
intPosItem = Instr(strFormat, "%b")
Loop
intPosItem = Instr(strFormat, "%B")
Do While intPosItem \> 0
strFormat = Left(strFormat, intPosItem-1) & \_
MonthName(DatePart("m",strDate),False) & \_
Right(strFormat, Len(strFormat) - (intPosItem + 1))
intPosItem = Instr(strFormat, "%B")
Loop
intPosItem = Instr(strFormat, "%d")
Do While intPosItem \> 0
strFormat = Left(strFormat, intPosItem-1) & \_
DatePart("d",strDate) & \_
Right(strFormat, Len(strFormat) - (intPosItem + 1))
intPosItem = Instr(strFormat, "%d")
Loop
intPosItem = Instr(strFormat, "%j")
Do While intPosItem \> 0
strFormat = Left(strFormat, intPosItem-1) & \_
DatePart("y",strDate) & \_
Right(strFormat, Len(strFormat) - (intPosItem + 1))
intPosItem = Instr(strFormat, "%j")
Loop
intPosItem = Instr(strFormat, "%y")
Do While intPosItem \> 0
strFormat = Left(strFormat, intPosItem-1) & \_
Right(DatePart("yyyy",strDate),2) & \_
Right(strFormat, Len(strFormat) - (intPosItem + 1))
intPosItem = Instr(strFormat, "%y")
Loop
intPosItem = Instr(strFormat, "%Y")
Do While intPosItem \> 0
strFormat = Left(strFormat, intPosItem-1) & \_
DatePart("yyyy",strDate) & \_
Right(strFormat, Len(strFormat) - (intPosItem + 1))
intPosItem = Instr(strFormat, "%Y")
Loop
intPosItem = Instr(strFormat, "%w")
Do While intPosItem \> 0
strFormat = Left(strFormat, intPosItem-1) & \_
DatePart("w",strDate,1) & \_
Right(strFormat, Len(strFormat) - (intPosItem + 1))
intPosItem = Instr(strFormat, "%w")
Loop
intPosItem = Instr(strFormat, "%a")
Do While intPosItem \> 0
strFormat = Left(strFormat, intPosItem-1) & \_
WeekDayName(DatePart("w",strDate,1),True) & \_
Right(strFormat, Len(strFormat) - (intPosItem + 1))
intPosItem = Instr(strFormat, "%a")
Loop
intPosItem = Instr(strFormat, "%A")
Do While intPosItem \> 0
strFormat = Left(strFormat, intPosItem-1) & \_
WeekDayName(DatePart("w",strDate,1),False) & \_
Right(strFormat, Len(strFormat) - (intPosItem + 1))
intPosItem = Instr(strFormat, "%A")
Loop
intPosItem = Instr(strFormat, "%I")
Do While intPosItem \> 0
intHourPart = DatePart("h",strDate) mod 12
if intHourPart = 0 then intHourPart = 12
strFormat = Left(strFormat, intPosItem-1) & \_
intHourPart & \_
Right(strFormat, Len(strFormat) - (intPosItem + 1))
intPosItem = Instr(strFormat, "%I")
Loop
intPosItem = Instr(strFormat, "%H")
Do While intPosItem \> 0
strHourPart = DatePart("h",strDate)
if strHourPart 0
strMinutePart = DatePart("n",strDate)
if strMinutePart 0
strSecondPart = DatePart("s",strDate)
if strSecondPart 0
if DatePart("h",strDate) \>= 12 then
strAMPM = "PM"
Else
strAMPM = "AM"
End If
strFormat = Left(strFormat, intPosItem-1) & strAMPM & \_
Right(strFormat, Len(strFormat) - (intPosItem + 1))
intPosItem = Instr(strFormat, "%P")
Loop
intPosItem = Instr(strFormat, "%%")
Do While intPosItem \> 0
strFormat = Left(strFormat, intPosItem-1) & "%" & \_
Right(strFormat, Len(strFormat) - (intPosItem + 1))
intPosItem = Instr(strFormat, "%%")
Loop
ConvDate = strFormat
End Function
Hoffe, dass ich Dir damit weiterhelfen konnte…
Viele Grüsse
Chris