webForumDet fria alternativet

If och Else i datum

9 svar · 249 visningar · startad av Bj

BjMedlem sedan sep. 2000314 inlägg
#1

Skall bara kunna skriva siffran på datumet så skall år-månad-dag visas.
Men varför funkar inte denna If-sats då jag vill att den aut. skall visa oktober om man idag skulle skriva t.ex 20.
-----------------------------------
RESULTAT.ASP
<BODY>
<FORM ACTION = "result.asp" METHOD = "POST">
<INPUT NAME = "day" size="20">
<input type="submit" value="send">
</FORM>
</BODY>
<%
MyField = Request.Form("day")
MyYear = Year(Date)
MyMonth = Month(Date)
CurrentDay=Day(date)
If CurrentDay > MyField then
MyMonth=Month(date)+1
Else
MyMonth=Month(date)
End If
MyNewDate =""&Myyear&"-"&MyMonth&"-"&MyField&""
response.write MyNewDate
%>
</BODY>

tohaMedlem sedan dec. 1999707 inlägg
#2

Anledning till att det inte fungerar är att värdet du får ut from Request.Form("day") är i strängformat och värdet som Day(date) returnerar är i numeriskt format. If-raden på din kod skall se ut som följer:

...
If CurrentDay > CInt(MyField) then
...

------------------
/ Torbjörn Hansson, webbutvecklare
Endero Sverige

BjMedlem sedan sep. 2000314 inlägg
#3

Tack så mycket. Det gjorde gott.
Nu ett nytt problem...
Har lagt på lite för att veckans dag skall skrivas ut, men om jag skriver "28" i fältet så visas "lördag 28/9 2000. Hmm Det är ju TORSDAG den 28..
Om jag skriver "10" så verkar det funka. Då skriver den Tisdag 10/10 2000.
Vad gör jag för fel nu?
--------------------
RESULT2.ASP
<BODY>
<FORM ACTION = "result2.asp" METHOD = "POST">
<INPUT NAME = "day" size="20">
<input type="submit" value="send">
</FORM>
</BODY>

<%
MyField = Request.Form("day")
MyYear = Year(Date)
MyMonth = Month(Date)
CurrentDay=Day(date)

If CurrentDay > CInt(MyField) then
MyMonth=Month(date)+1
Else
MyMonth=Month(date)
End If

DayName=weekdayname(weekday(MyField))
MyNewDate =""&DayName&" "&MyField&"/"&MyMonth&" "&MyYear&""
response.write MyNewDate
%>

VideMedlem sedan dec. 19998 577 inlägg
#4

Stoppar du bara in dagen i funktionen weekdayname så kommer den att välja ett eget datum. Rätt dag men säkert fel år och månad... Så stoppa in hela datumet så blir det säkert rätt...

Mvh, Vide

------------------
Kom hem till mig...

BjMedlem sedan sep. 2000314 inlägg
#5

Hua, nu är jag inte riktigt med hur Du menar?

VideMedlem sedan dec. 19998 577 inlägg
#6

Alltså, som det ser ut nu så, om du skickar värdet 20 i formuläret, så kommer det att se ut såhär:

DayName=weekdayname(weekday(20))

Funktionen weekday vet ju inte vilken månad eller vilket år du menar, alltså måste du skicka med dessa också...

Mvh, Vide

------------------
Kom hem till mig...

BjMedlem sedan sep. 2000314 inlägg
#7

Hmm men om jag skickar iväg 20 så stämmer det. Den returnerar "fredag 20/10 2000".
Detta är kanske tur och träff?

För som sagt: Skickar jag iväg 28 så skriver den "lördag 20/9 2000. Det borde ju varit Torsdag 28/9 2000.

Menar du att man måste skriva hela datumet i fältet eller skall jag på ngt sätt ändra i skriptet?

VideMedlem sedan dec. 19998 577 inlägg
#8

Ja, du måste skicka med dag, månad och år... Så att du får någonting sånthär:

dtmVar = Cdate(Year(date) & "-" & Month(date) & "-" & MyField)

weekdayname(weekday(dtmVar))

Mvh, Vide

------------------
Kom hem till mig...

BjMedlem sedan sep. 2000314 inlägg
#9

Urk, jag som trodde jag fått ihop det... jag har provat flera olika sätt men har nog inte kunskaperna att fatta hur Du menar Vide....

BjMedlem sedan sep. 2000314 inlägg
#10

Nu jäklar... verkar det funka.
Tack för all hjälp. Om ni ser ngt speciellt fel el. ngn bugg, säg gärna till....

<BODY>
<FORM ACTION = "result.asp" METHOD = "POST">
<INPUT NAME = "day" size="20">
<input type="submit" value="send">
</FORM>

<%
dtDay=request.form("day")
CurrentDay=Day(date)

If CurrentDay > CInt(dtDay) then
MyMonth=Month(date)+1
Else
MyMonth=Month(date)
End If

EnMonthName=MonthName(MyMonth)
MyYear=Year(date)

dtmVar = Cdate(Year(date) & "-" & MyMonth & "-" & dtDay)
DayName=weekdayname(weekday(dtmVar))

MyNewDate=DayName & " " & dtDay & " " & EnMonthName
response.write MyNewDate
%>
</BODY>

133 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)