Jag har en snutt som ska ta fram datumet för den kommande söndagen. Inget konstigt. Förstår inte riktigt problemet... du får ju fram hur många dagar det är till nästa söndag... Trodde jag var så tydlig jag kunde. Ok... då förstår jag. Jag råder att göra en tabell med datum istället.. då är ni inte låsta till söndagar, saker kan ändras framöver De är det som är problemet. Jag vill ju hellst undvika att använda mej av en databas. Isåfall så hade jag ju kunnat lösa problemet för länge sedan. <b>Jag vill ju hellst undvika att använda mej av en databas.</b> vill bara ha förslag på hur man får ett csript att loopa igenom en kod för att ta ut söndagar samt att utesluta/hoppa över en del söndagar för att istället ta fram den som kommer efter den övcer hoppade söndagen (är den också utesluten ska istället söndagen efter den visas osv). Du har iofs redan fått svaret ovan... men här är ett exempel på kod: SUVERÄNT.........Hantera datum
Om jag vill hoppa över den kommande söndagen och istället visa söndagen efter den första söndagen... inget konstigt i det heller... bara att skriva en if-sats... så mitt ser ut som det nedanför.
Sunday = Date()
Do Until Weekday(Sunday) = 1 '0=Lördag, 1=Söndag osv
Sunday = DateAdd("d",1,Sunday)
Loop
If Sunday = "2008-09-21" Then
Traningsdag = Sunday +7
Else
Traningsdag = Sunday
End If
Men antag att jag vill hoppa över datumet två söndagar på rad och istället visa den tredje söndagen.... hur gör jag då ????? Någon som har en lösning på detta och som är mer skärpt än vad jag är på ASP ???
Borde vara nått i stil med
* ta reda på vad den kommande söndagen har för datum
* hoppa över om datumet är "2008-09-21,2008-09-28"
* ta fram och visa datumet efter det som visas i raden ovanför
Borde ju vara någon form av loop som ska köras.. men hur ser en sådan loop ut ?
Men frågan är hur ???Sv: Hantera datum
Lägg till 7 så får du söndagen därpå, lägg till 14 får du söndagen därefter etc...?Sv:Hantera datum
Jag är medlem i en klubb där vi har träningar på söndagar. Under veckan kan vem som helst anmäla sig till träning via ett formulär på klubbens hemsida. I texten ovanför formuläret finns det en inledande text där det står "Nästa planerade träning är 2008-09-21". När den aktuella söndagen har passerat och det är måndag så står det istället "Nästa planerade träning är 2008-09-28" osv osv. Detta sköts automatisk av koden i mitt första inlägg.
Ibland så blir vi tvugna att ställa in träningar. Antag då att jag redan nu vet att träningen den 28/9 och 5/10 är inställda. Då ska det istället stå "Nästa planerade träning är 2008-10-12".
"Min" kod för att ta fram kommande söndag:
====================================================
Sunday = Date()
Do Until Weekday(Sunday) = 1 '0=Lördag, 1=Söndag osv
Sunday = DateAdd("d",1,Sunday)
Loop
====================================================
Jag vill då kunna skriva in datum för vilka söndagar som koden ska hoppa över och istället visa den söndagen därefter. Om det datumet också finns i "listan" så ska den hoppa över även det och visa datumet där efter.
Kanske ska förklara det så här:
- Ta fram datumet för kommande söndag
- Om kommande söndag finns med här visa då nästa "2008-09-28,2008-10-05"
- Kommande söndag = ÅÅÅÅ-MM-DD
Eller kanske förklara det så här:
Sunday = Date()
Do Until Weekday(Sunday) = 1 '0=Lördag, 1=Söndag osv
Sunday = DateAdd("d",1,Sunday)
Loop
If sunday = "2008-09-28" THEN SHOW NEXT sunday
If sunday = "2008-10-05" THEN SHOW NEXT sunday
If sunday = "2008-10-26" THEN SHOW NEXT sunday
Men jag fattar att ovanstående inte kommer att fungera. Så frågan är nu.... hur ska en fungerande kod se ut.Sv: Hantera datum
Gör en veckotabell där du kan lägga in status för träningarna, ex:
<code>
VeckoNr Status
1 1
2 1
3 0
4 1
5 1
6 0
...
52 0
53 0
</code>
Då kan du fylla den med 1:or för träning och uppdatera med 0:or de veckor som ställs in.
Vid sökning efter nästkommande träning så söker du i veckotabellen, ex:
<code>
"SELECT TOP 1 VeckoNr FROM VeckoTabell WHERE VeckoNr>" &_
DatePart("ww",Now(),2,0) &_
" AND Status=1 ORDER BY VeckoNr ASC"
</code>Sv:Hantera datum
Men annars ungefär samma kodSv: Hantera datum
Sv:Hantera datum
Varför?
<b>Isåfall så hade jag ju kunnat lösa problemet för länge sedan.</b>
ok...
Låter helt vansinnigt att inte använda sig av en databas... att hårdkoda data i ett skript... men ett sätt då är att stoppa in datumen i en vektor...
...fast du kanske inte vill använda dig av vektorer heller..?Sv: Hantera datum
Sv:Hantera datum
<%
Dim traning(7), i
traning(0) = "2008-09-28"
traning(1) = "2008-10-05"
traning(2) = "2008-10-12"
traning(3) = "2008-10-26"
traning(4) = "2008-11-16"
traning(5) = "2008-11-30"
traning(6) = "2008-12-14"
i = 0
Do Until (DateDiff("d",Now(),traning(i))>=0) Or (i=uBound(traning))
' Alternativt:
' Do Until (DateDiff("d",Now(),traning(i))>0) Or (i=uBound(traning))
i = i + 1
Loop
If traning(i)<>"" Then
Response.Write("Nästa träning är " & traning(i))
Else
Response.Write("Inga mer träningar planerade")
End If
%>
Sv: Hantera datum
I listan knappar man in de söndagar då det är träning......
Kan man göra scriptet i omvänd ordning ... dvs de datum i listan är de datum/söndagar som ska hoppas över ?