Warnung: Du f�llst mit dem Ansatz auf die Schn...
Die KW-Berechung ist eine hochkomplizierte Sache, wenn sie �ber alle
Jahre hinweg funktionieren soll. Die deutsch DIN regelt zum Beispiel
dass die Woche 1 mit einem Donnerstag anfangen muss (vage - so ca.).
Wenn Du die Logik in eine eigene Funktion packen willst, wird der Code
lang und die Diskussion dauert noch eine Weile. Und genaue DIN-Vorlage
muss auch her.
Nimmst dagegen die eingebaute Funktion, haben andere die Arbeit f�r Dich
gemacht. Hier mal die Beschreibung von DatePart. Wobei f�r DIN gerechte
Berechung der vbThursday f�r das Argument ErsterWochentag verwendet
wird. Das andere Argument (ErsteWocheimJahr ) kann man m.E. vergessen.
Microsoft� Visual Basic� Scripting Edition
DatePart-Funktion Sprachverzeichnis
Version 2
Siehe auch
------------------------------------------------------------------------
--------
Beschreibung
Gibt den angegebenen Teil eines Datums zur�ck.
Syntax
DatePart(Intervall, Datum [,ErsterWochentag[, ErsteWocheimJahr]])
Die Syntax der DatePart-Funktion besteht aus folgenden Teilen:
Teil Beschreibung
Intervall Erforderlich. Zeichenfolgenausdruck f�r die Zeitspanne, die
zur�ckgegeben werden soll. G�ltige Werte sind im Abschnitt
"Einstellungen" aufgef�hrt.
Datum Erforderlich. Datumsausdruck, der ausgewertet werden soll.
ErsterWochentag Optional. Konstante zur Angabe des Wochentags. Falls
nicht angegeben, wird Sonntag als Wert angenommen. G�ltige Werte sind im
Abschnitt "Einstellungen" aufgef�hrt.
ErsteWocheimJahr Optional. Konstante zur Angabe der ersten Woche des
Jahres. Falls nicht angegeben, wird die Woche mit dem 1. Januar
angenommen. G�ltige Werte sind im Abschnitt "Einstellungen" aufgef�hrt.
Einstellungen
Das Argument Intervall kann die folgenden Werte haben:
Einstellung Beschreibung
yyyy Jahr
q Quartal
m Monat
y Tag im Jahr
d Tag
w Wochentag
ww Woche im Jahr
h Stunde
n Minute
s Sekunde
Das Argument ErsterWochentag kann die folgenden Werte haben:
Konstante Wert Beschreibung
vbUseSystem 0 Einstellung der NLS (National Language Support)-API
verwenden.
vbSunday 1 Sonntag (Standard)
vbMonday 2 Montag
vbTuesday 3 Dienstag
vbWednesday 4 Mittwoch
vbThursday 5 Donnerstag
vbFriday 6 Freitag
vbSaturday 7 Samstag
Das Argument ErsteWocheimJahr kann die folgenden Werte haben:
Konstante Wert Beschreibung
vbUseSystem 0 Einstellung der NLS (National Language Support)-API
verwenden.
vbFirstJan1 1 Mit der Woche beginnen, in die der 1. Januar f�llt
(Standard).
vbFirstFourDays 2 Mit der Woche beginnen, die mindestens 4 Tage des
neuen Jahres enth�lt.
vbFirstFullWeek 3 Mit der ersten vollen Woche im neuen Jahr beginnen.
Hinweise
Mit der DatePart-Funktion k�nnen Sie ein Datum auswerten und eine
bestimmte Zeitspanne zur�ckgeben. Sie k�nnen mit DatePart zum Beispiel
den Wochentag oder die aktuelle Stunde berechnen.
Das Argument ErsterWochentag wirkt sich auf Berechnungen aus, welche die
Zeitraumsymbole "w" und "ww" verwenden.
Ist Datum ein Datumsliteral, wird das angegebene Jahr ein permanenter
Teil dieses Datums. Wird Datum jedoch in Anf�hrungszeichen (" ")
eingeschlossen und das Jahr nicht angegeben, wird das laufende Jahr
immer dann in den Code eingef�gt, wenn der Ausdruck Datum ausgewertet
wird. Auf diese Weise k�nnen Sie Code schreiben, der unabh�ngig von der
Jahreszahl verwendet werden kann.
Dieses Beispiel zeigt die Verwendung der DatePart-Funktion, indem es das
Quartal eines gegebenen Datums anzeigt.
Function QuartalAnzeigen(dasDatum)
QuartalAnzeigen = DatePart("q", dasDatum)
End Function
------------------------------------------------------------------------
--------
--
Viele Gr��e
Hubert Daubmeier
-----Original Message-----
From: Sochn Webmaster [mailto:[EMAIL PROTECTED]]
Sent: Friday, October 05, 2001 12:52 PM
To: ASP Diskussionsliste fuer Anfaenger
Subject: [aspdebeginners] AW: wochennummern
Importance: High
Hallo gray,
habe den code noch mal �berarbeitet. Hier mit dem sollte es
funktionieren. Da bei der Funktion cStr(KW) die Zahl ab Wochenmitte
aufgerundet wurde ist die Funktion FIX(varName) die bessere L�sung. Hier
wird nur die Zahl vor dem Komma angezeigt, sodass die Kalenderwoche
richtig angezeigt wird.
<% aktTag = DATEDIFF("d","1/1/" & cStr(Year(NOW)) & "",DATE+TIME)
aktWoche = aktTag/7 KW = FIX(aktWoche)
Response.Write("Kalender-Woche: " & KW & "") %>
Mit bestem Gru� - Mike
| Oft Gefragtes: http://www.aspgerman.com/aspgerman/faq/
| [aspdebeginners] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdebeginners/ = Listenarchiv
| Sie knnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdebeginners.asp