Flashhit/montago > jeg bruger allerede en version der ligner din. Problemet er, at den viser ikke næste åbningstid, men kun en forskellig besked på lige/ulige uge.
Dvs. at det eneste jeg kan skrive er f.eks. I denne uge er der åbent torsdag fra 11.00 til 17.00
Fredag i en ulige uge skriver den således stadigvæk at der er åbent om torsdagen. Det har forvirret mange af mine brugere, derfor søger jeg en lidt udvidet udgave...
Torsdage efter kl. 17:00 i en ulige uge vil jeg have den til at skrive: næste åbningstid er: lørdag d. dd/mm kl. 9:00 til 12:00
<% IF DatePart("y",Date) mod 2 = 0 then if Weekday(date) = 5 AND time > "17:00:00" then <Torsdag efter kl 17> else <alle dage i lige uger> end if Else <alle dage i ulige uger> End if %>
OK. Jeg har prøvet at opstille denne, ud fra dit forslag:
IF DatePart("y",Date) mod 2 = 0 then 'Lige uge if Weekday(date) >= 6 AND time > "12:00:00" then response.write("Næste gang Genbrugspladsen er åben er torsdag (vi har nu lige uge)") else response.write("Næste gang Genbrugspladsen er åben er lørdag (vi har nu lige uge)") end if Else if Weekday(date) >= 4 AND time > "17:00:00" then response.write("Næste gang genbrugspladsen er åben er lørdag (vi har nu ulige uge)" ) else response.write("Næste gang Genbrugspladsen er åben er torsdag (vi har nu ulige uge)") end if End if
jeg har dog et par spørgsmål... Lige nu er vi i en lige uge, og da vi har onsdag, burde resultatet så ikke være den første response? Det er den nemlig ikke. Jeg får resultatet: den tredje response. Hvordan kan det være?
Ja det har du vist i grunden ret i. har nu rettet mine værdier til 7 og 5.
Jeg har også fået den til at vise den rigtige response.write med denne linie. If datepart("ww", date(), 3,3)mod 2 = 0 Then 'Lige uge
Nu mangler vi bare at få den til at vise datoen for den næstkommende torsdag/lørdag, så skulle den vist være der. har du en løsning på det også? Er en klovn til at arbejde med datoer i asp :)
goodmornings! Jeps, hvis der er åben om torsdagen (ulige uge) så er der først åben igen om 9 dage (lørdag i den lige uge). velkommen på landet:) Ja jeg vil gerne have datoerne udskrevet, altså: Lørdag kl. 12:00 i lige uge skal den skrive: åben næste gang torsdag d. dd/mm Torsdag kl. 17:00 i ulie uge skal den skrive: åben næste gang lørdag d. dd/mm (bemærk at her er det altså ikke den næstkommende lørdag, men den lørdag der kommer om 9 dage fra om torsdagen.)
Function isOpen(dato) isOpen = false IF DatePart("ww",dato) mod 2 = 0 then 'Lige uge if Weekday(dato) = 5 Then isOpen = true End if Else if Weekday(dato) = 7 Then isOpen = true End if End if END Function
Function findNext(dato) B = 1 do until isOpen(dato + B ) B=B+1 loop findNext = (dato + B) END Function
SUB whoami(dato) IF DatePart("ww",dato) mod 2 = 0 then 'Lige uge Response.Write "<td>(" & WeekDayName(datepart("w",dato)) & ")<td> Lige uge "
if Weekday(dato) = 5 and Time > "11:00:00" and Time < "17:00:00" then Response.Write "<td> <b>ÅBEN " Else Response.Write "<td> Lukket " if Weekday(dato) >= 5 then Response.Write "<td> kom igen på Lørdag d. " else Response.Write "<td> kom igen på Torsdag d. " end if end if Else Response.Write "<td>(" & WeekDayName(datepart("w",dato)) & ")<td> U-Lige uge "
if Weekday(dato) = 7 and Time > "09:00:00" and Time < "12:00:00" then Response.Write "<td> <b>ÅBEN " Else Response.Write "<td> Lukket " if Weekday(dato) >= 7 then Response.Write "<td> kom igen på Torsdag d. " else Response.Write "<td> kom igen på Lørdag d. " end if end if End if Response.Write "<td>" & findNext(date + A) END SUB Response.Write "<table>" For A = 0 to 50 Response.Write( "<tr><td>" & Date+A & " <td>" ) call whoami(date+A) 'Response.Write isOpen(date + A)
24-08-2006 (torsdag) Lige uge ÅBEN 02-09-2006 25-08-2006 (fredag) Lige uge Lukket kom igen på Lørdag d. 02-09-2006 26-08-2006 (lørdag) Lige uge Lukket kom igen på Lørdag d. 02-09-2006 27-08-2006 (søndag) U-Lige uge Lukket kom igen på Lørdag d. 02-09-2006 28-08-2006 (mandag) U-Lige uge Lukket kom igen på Lørdag d. 02-09-2006 29-08-2006 (tirsdag) U-Lige uge Lukket kom igen på Lørdag d. 02-09-2006 30-08-2006 (onsdag) U-Lige uge Lukket kom igen på Lørdag d. 02-09-2006 31-08-2006 (torsdag) U-Lige uge Lukket kom igen på Lørdag d. 02-09-2006 01-09-2006 (fredag) U-Lige uge Lukket kom igen på Lørdag d. 02-09-2006 02-09-2006 (lørdag) U-Lige uge ÅBEN 07-09-2006 03-09-2006 (søndag) Lige uge Lukket kom igen på Torsdag d. 07-09-2006 04-09-2006 (mandag) Lige uge Lukket kom igen på Torsdag d. 07-09-2006 05-09-2006 (tirsdag) Lige uge Lukket kom igen på Torsdag d. 07-09-2006 06-09-2006 (onsdag) Lige uge Lukket kom igen på Torsdag d. 07-09-2006 07-09-2006 (torsdag) Lige uge ÅBEN 16-09-2006
jeg har prøvet at rette det lidt til,så den nu ser ud som her. Jeg kan dog kun få det til at virke delvist. I dag (d. 24/8) skriver den at næste åbningstid er i dag. Det passer ikke, den skulle gerne skrive d. 26/8. Jeg kan som det nærmeste få den til at skrive torsdag d. 31/8.
Function isOpen(dato) isOpen = false If datepart("ww", date(), 3,3)mod 2 = 0 Then 'Lige uge if Weekday(dato) = 5 Then isOpen = true End if Else if Weekday(dato) = 7 Then isOpen = true End if End if END Function
Function findNext(dato) B = 1 do until isOpen(dato + B ) B=B+1 loop findNext = (dato + B) END Function
SUB whoami(dato) If datepart("ww", date(), 3,3)mod 2 = 0 Then 'Lige uge if Weekday(date) >= 7 AND time > "12:00:00" then Response.Write "<BR>Næste gang genbrugspladsen er åben er 1: "& findNext(dato + B) Else Response.Write "<BR>Næste gang genbrugspladsen er åben er 2: " & (dato)
end if Else if Weekday(date) >= 5 AND time > "17:00:00" then Response.Write "<BR>Næste gang genbrugspladsen er åben er 3: "& findNext(dato + B) Else Response.Write "<BR>Næste gang genbrugspladsen er åben er 4: " & (dato) end if End if END SUB
dét whoami (Who am i) kald den noget andet ;) - gør er at finde ud af om NU = åben eller lukket
isOpen kan tjekke en dato for om der er åben eller lukket (uden at medregne tidspunk)
findNext finder den næste dag der er åbent - kald den med en dato findNext(date + offset)
koden er nu rettet...
i stedet for at udskrive "ÅBEN" kan du skrive noget mere eller noget andet... dvs næste åbning...
SVÆRERE ER DET IKKE :D
<% server.ScriptTimeout = 5
Function isOpen(dato) isOpen = false IF DatePart("ww",dato) mod 2 = 0 then 'Lige uge if Weekday(dato) = 5 Then isOpen = true End if Else if Weekday(dato) = 7 Then isOpen = true End if End if END Function
Function findNext(dato) B = 1 do until isOpen(dato + B ) B=B+1 loop findNext = (dato + B) END Function
SUB whoami(dato) IF DatePart("ww",dato) mod 2 = 0 then 'Lige uge 'Response.Write "<td>(" & WeekDayName(datepart("w",dato)) & ")<td> Lige uge "
if Weekday(dato) = 5 and Time > "11:00:00" and Time < "17:00:00" then Response.Write "<td> <b>ÅBEN " Else Response.Write "<td> Lukket " if Weekday(dato) >= 5 then Response.Write "<td> kom igen på Lørdag d. " else Response.Write "<td> kom igen på Torsdag d. " end if end if Else 'Response.Write "<td>(" & WeekDayName(datepart("w",dato)) & ")<td> U-Lige uge "
if Weekday(dato) = 7 and Time > "09:00:00" and Time < "12:00:00" then Response.Write "<td> <b>ÅBEN " Else Response.Write "<td> Lukket " if Weekday(dato) >= 7 then Response.Write "<td> kom igen på Torsdag d. " else Response.Write "<td> kom igen på Lørdag d. " end if end if End if Response.Write "<td>" & findNext(date + A) END SUB
if Weekday(dato) = 7 and Time < "12:00:00" then if Time > "09:00:00" then Response.Write "<td> <b>ÅBEN " else Response.Write "<td> <b>vi åbner klokken 09:00 " end if Else
Function isOpen(dato) isOpen = false IF DatePart("ww",dato) mod 2 = 0 then 'Lige uge if Weekday(dato) = 5 Then isOpen = true End if Else if Weekday(dato) = 7 Then isOpen = true End if End if END Function
Function findNext(dato) B = 1 do until isOpen(dato + B ) B=B+1 loop findNext = (dato + B) END Function
SUB whoami(dato) IF DatePart("ww",dato) mod 2 = 0 then 'Lige uge 'Response.Write "<td>(" & WeekDayName(datepart("w",dato)) & ")<td> Lige uge "
if Weekday(dato) = 5 and Time < "17:00:00" then if Time > "11:00:00" then Response.Write "<td> <b>ÅBEN " else Response.Write "<td> <b>vi åbner klokken 11:00 " end if Else Response.Write "<td> <b>Lukket</b> " end if Else 'Response.Write "<td>(" & WeekDayName(datepart("w",dato)) & ")<td> U-Lige uge "
if Weekday(dato) = 7 and Time < "12:00:00" then if Time > "09:00:00" then Response.Write "<td> <b>ÅBEN " else Response.Write "<td> <b>vi åbner klokken 09:00 " end if Else Response.Write "<td> <b>Lukket</b> " end if End if Response.Write "<td> næste Åbning: " & WeekdayName(Weekday(findNext(date + A))) & " den " & findNext(date + A) END SUB
Det virker bare helt perfekt! Mange tak for hjælpen!
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.