Hejsan hoppsan! Utan att hjälpa dig för mycket (bättre att man får grotta lite själv, det är så man lär sig) så finns det två funktioner för att få fram dagens namn baserat på ett datum, samma är det för månadsnamnet. Dessa två funktioner gör att 80% av din kod kommer minska. Att hantera a: och e: får man nog göra som du gör redan. Förslag på funktion: Hmm, du får nog ge mig en liten hint till tror jag ang. datumfunktionerna :)Göra funktion av datumscript och ev. förenklande...
Jag har precis lyckats knåpa ihop ett litet script som ger mig ett snyggare datumformat än vad som erbjuds annars, men det är lite rörigt... och framför allt så vill jag veta hur man gör en funktion av det!
Så kan inte någon vara snäll och dels ge mig tipps på hur man kan göra scriptet lite bättre, och framför allt, hur man gör en funktion av det!
Kåden:
<code>
<%
Dim Nicedate
Dim Veckodag
Dim DagensDatum
Dim DagensNr
Dim Manad
Dim Ar
Ar =Year(date)
Manad = month(date)
DagensNr = Day(date)
VeckoDag = WeekDay(DagensDatum)
<!-- Dagens Namn -->
If Veckodag = "1" Then
Response.write("Måndagen den ")
ElseIf Veckodag = "2" Then
Response.write("Tisdagen den ")
ElseIf Veckodag = "3" Then
Response.write("Onsdagen den")
ElseIf Veckodag = "4" Then
Response.write("Torsdagen den ")
ElseIf Veckodag = "5" Then
Response.write("Fredagen den ")
ElseIf Veckodag = "6" Then
Response.write("Lördagen den ")
ElseIf Veckodag = "7" Then
Response.Write("Söndagen den ")
Else
Response.Write("Vilken planet bor du på?")
End If
Response.Write(dagensnr)
<!-- Slutet på siffran -->
If DagensNr <= 2 Then
Response.Write(":a")
ElseIf DagensNt <= 3 Then
Response.Write(":e")
ElseIf DagensNr <= 11 Then
Response.Write(":e")
ElseIf DagensNr <= 21 Then
Response.Write(":a")
ElseIf DagensNr >= 23 Then
Response.Write(":e")
Else
End If
<!-- Månad -->
If Manad = "1" Then
Response.Write(" Januari ")
ElseIF Manad = "2" Then
Response.Write(" Februari ")
ElseIF Manad = "3" Then
Response.Write(" Mars ")
ElseIF Manad = "4" Then
Response.Write(" April ")
ElseIF Manad = "5" Then
Response.Write(" Maj ")
ElseIF Manad = "6" Then
Response.Write(" Juni ")
ElseIF Manad = "7" Then
Response.Write(" Juli ")
ElseIF Manad = "8" Then
Response.Write(" Augusti ")
ElseIF Manad = "9" Then
Response.Write(" September ")
ElseIF Manad = "10" Then
Response.Write(" Oktober ")
ElseIF Manad = "11" Then
Response.Write(" November ")
ElseIF Manad = "12" Then
Response.Write(" December ")
Else
End If
Response.Write(ar)
%>
</code>
tack på förhand!
/AndersSv: Göra funktion av datumscript och ev. förenklande...
Titta lite i tips & tricks för datum. Har du vb på din dator så titta lite i hjälpen på date-funktioner.
Rörande att göra någon kod till funktion så finns en artikel om hur en funktion skall göras - se: http://www.pellesoft.nu/login/video/vb/first_function.asp (om ingen bild visas, se till att du först laddar hem och kör (http://www.pellesoft.nu/login/video/tscc.exe)
Lycka till
/PelleSv: Göra funktion av datumscript och ev. förenklande...
<code>
<%
Function Nicedate(Value)
Dim Veckodag
Dim DagensNr
Dim Manad
Dim Ar
Ar = Year(Value)
Manad = Month(Value)
DagensNr = Day(Value)
Veckodag = Weekday(Value, vbMonday)
Select Case CInt(DagensNr)
Case 1, 2, 21, 22, 31
DagensNr = DagensNr & ":a"
Case Else
DagensNr = DagensNr & ":e"
End Select
Nicedate = StrConv(WeekdayName(Veckodag, False, vbMonday), vbProperCase) & " den " & DagensNr & " " & StrConv(MonthName(Manad), vbProperCase) & " " & Ar
End Function
%>
</code> Sv: Göra funktion av datumscript och ev. förenklande...