Deutsches Datum und Uhrzeit

Hallo,

ich habe meine ASP-Seiten bei Brinkster gehostet. Wie hier jeden wohl bekannt ist, ist Brinkster ein englischer Hostinganbieter.

Da ich ein Gästebuch dort habe, in das logischerweise auch das Datum eingetragen wird, habe ich das Problem mit dem deutschen und englischen Datums und Zeitformat.

Das Datumsformat konnte ich erfolgreich mit cdate lösen, so das das Datum aufs Deutsche Format umgestellt ist. Jedoch stimmt die Uhrzeit noch nicht. Kann mir jemand sagen wie ich die Uhr auf die Deutsche Zeit umstelle, oder wie ich die Uhr vor bzw zurückstellen kann?

BlueskyRW

:smile:
siehe Quelltext unten. Das sollte Dir weiterhelfen :smile:

Viele Grüsse

Chris

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 \< 10 Then strHourPart = "0" & strHourPart
 strFormat = Left(strFormat, intPosItem-1) & \_
 strHourPart & \_
 Right(strFormat, Len(strFormat) - (intPosItem + 1))
 intPosItem = Instr(strFormat, "%H")
 Loop

 intPosItem = Instr(strFormat, "%M")
 Do While intPosItem \> 0
 strMinutePart = DatePart("n",strDate)
 if strMinutePart \< 10 then strMinutePart = "0" & strMinutePart
 strFormat = Left(strFormat, intPosItem-1) & \_
 strMinutePart & \_
 Right(strFormat, Len(strFormat) - (intPosItem + 1))
 intPosItem = Instr(strFormat, "%M")
 Loop

 intPosItem = Instr(strFormat, "%S")
 Do While intPosItem \> 0
 strSecondPart = DatePart("s",strDate)
 if strSecondPart \< 10 then strSecondPart = "0" & strSecondPart
 strFormat = Left(strFormat, intPosItem-1) & \_
 strSecondPart & \_
 Right(strFormat, Len(strFormat) - (intPosItem + 1))
 intPosItem = Instr(strFormat, "%S")
 Loop

 intPosItem = Instr(strFormat, "%P")
 Do While intPosItem \> 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
\<SCRIPT\>
\</PRE\>

\<B\>Hilfe zum Aufruf:\</B\>
&lt:stuck\_out\_tongue\_winking\_eye:RE\>
To use to include file function, add the HTML comment tag to reference the inc. file, then use the ConvDate function as defined below: 

strFormattedDate = ConvDate (dtmDate, strFormat)
where dtmDate should be a Date variable
and strFormat should be a template for the output date as detailed below.

Template Description Examples:

%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 %% 
The following example, converts a US date, dteUSDate, to a European date format, strEuroDate. 

\<!--#INCLUDE FILE="ConvDate.inc"--\>
\<%
response.write dteUSDate
strDay = ConvDate(dteUSDate, "%d")
strMonth = ConvDate(dteUSDate, "%m")
strYear = ConvDate(dteUSDate, "%Y")
strEuroDate = strDay & "/" & strMonth & "/" & strYear
response.write strEuroDate
%\>
\</PRE\>

Erstmal danke für Deine Hilfe!

Aber so kompliziert wollt ich es eigentlich garnicht!

Also das Datum habe ich mit 3 Zeilen ins Deutsche gebracht, dann düfte das dür Die Zeit doch auch nie viel schieriger sein. Mir würde auch sowas reichen wie:

Uhrzeit = Time() - 6

oder sowas! Ich weiß das es so ähnlich geht, habe das schonmal gesehen, und es hat auch funktioniert! Habe aber leider keinen Zugriff mehr darauf!

Gruß
BlueskyRW

Re^2: :smile:
Ah sorry…

Muss ehrlich sagen, dass ich Deinen Artikel nur kurz überflogen habe. Ich dachte es geht um Datumsumwandlungen :smile:

Aber ehm… wenn Du das mit der Zeitverschiebung meinst haste ein Problem:

Wenn Du das Datum ins deutsche änderst ist es damit nicht getan. Nehmen wir mal als Beispiel „Montag 1.Januar 2001“ 01:00 GMT.

Jetzt willst Du das ganze in GMT-6 umwandeln. Wenn Du einfach das Datum ins deutsche änderst bleibt das ja „Montag, 1. Januar 2001“ und nur die Zeit ist dann „19:00 GMT-6“.

Ich denke das sollte so ja nicht sein. Habe leider gerade keine Zeit zum selber suchen, aber versuch mal www.aspin.com ! Dort hats massig Komponenten, Scripte etc…

Viele Grüsse

Chris