---
title: "If och Else i datum"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/6723-if-och-else-i-datum"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Bj"
published: "2000-09-28T04:04:00.000Z"
updated: "2000-09-28T20:03:00.000Z"
replies: 9
views: 252
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/6723-if-och-else-i-datum"
---

# If och Else i datum

## #1 — Bj, 2000-09-28T04:04Z

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\>

Permalänk: https://www.webforum.nu/p/6723

## #2 — toha, 2000-09-28T05:56Z

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 
...

Permalänk: https://www.webforum.nu/p/250364

## #3 — Bj, 2000-09-28T10:22Z

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
%\>

Permalänk: https://www.webforum.nu/p/250365

## #4 — Vide, 2000-09-28T10:54Z

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

Permalänk: https://www.webforum.nu/p/250366

## #5 — Bj, 2000-09-28T11:08Z

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

Permalänk: https://www.webforum.nu/p/250367

## #6 — Vide, 2000-09-28T11:14Z

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

Permalänk: https://www.webforum.nu/p/250368

## #7 — Bj, 2000-09-28T11:22Z

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?

Permalänk: https://www.webforum.nu/p/250369

## #8 — Vide, 2000-09-28T14:16Z

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

Permalänk: https://www.webforum.nu/p/250370

## #9 — Bj, 2000-09-28T19:36Z

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....

Permalänk: https://www.webforum.nu/p/250371

## #10 — Bj, 2000-09-28T20:03Z

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\>

Permalänk: https://www.webforum.nu/p/250372

---

Tråden på webben: https://www.webforum.nu/amne/asp/6723-if-och-else-i-datum
