Avatar billede tommy_carstensen Nybegynder
28. juli 2004 - 02:20 Der er 19 kommentarer og
1 løsning

indtaste dato

Jeg har gemt år, måned og dag (indtastet af bruger) i variablerne yyyy, mm og dd. Hvordan kombinerer jeg disse oplysninger til en dato, så jeg f.eks. kan bruge funktionen weekday?
Jeg troede, at det ville være nemt, men kan ikke umiddelbart finde svar på mit spørgsmål, hvorfor jeg har valgt at give relativt mange point for er svar.
Med venlig hilsen
Avatar billede thesurfer Nybegynder
28. juli 2004 - 02:23 #1
Avatar billede thesurfer Nybegynder
28. juli 2004 - 02:24 #2
Eksempel:

dim dato
dato = CDate("2004-07-28")
Avatar billede thesurfer Nybegynder
28. juli 2004 - 02:25 #3
"Tip: Use the IsDate function to determine if date can be converted to a date or time."

IsDate - http://www.w3schools.com/vbscript/func_isdate.asp
Avatar billede squashguy Nybegynder
28. juli 2004 - 02:26 #4
eller denne, når de nu foreligger i 3 variabler:

http://www.w3schools.com/vbscript/func_dateserial.asp

Weekday(DateSerial("2004", "28", "7"))
Avatar billede thesurfer Nybegynder
28. juli 2004 - 02:29 #5
hamderpolle> Hvorfor bruger du ""? :-)
Avatar billede squashguy Nybegynder
28. juli 2004 - 02:31 #6
bare for at vise, at den godtager en streng (som er input)

og at 28 ikke er en gyldig måned, ser vi bort fra :)
Avatar billede tommy_carstensen Nybegynder
28. juli 2004 - 02:43 #7
Hej drenge,

hamderpolle har fat i noget af det rigtige. Jeg kan dog ikke få det til at virke, når jeg smider variablerne ind i dateserial-udtrykket. Fejlen (Type mismatch: '[string: "dd"]') kan ses her: http://www.frip.dk/tommycarstensen/deadline.asp
Hvad skal jeg rette i nedenstående?
Med venlig hilsen og på forhånd mange tak.

<form action="deadline.asp" method="post">
<table>
    <tr>
        <td>Boxes:</td>
        <td><input type="number" name="boxes"></td>
    </tr>
    <tr>
        <td><br>Year:</td>
        <td><input type="number" name="year"></td>
    </tr>
    <tr>
        <td>Month:</td>
        <td><input type="number" name="month"></td>
    </tr>
    <tr>
        <td>Day:</td>
        <td><input type="number" name="day"></td>
    </tr>
    <tr>
        <td colspan=2><input type="submit" value="Calculate deadline"></td>
    </tr>
</table>
</form>

<%

boxes=Request.QueryString("boxes")
yyyy=Request.QueryString("year")
mm=Request.QueryString("month")
dd=Request.QueryString("day")

Response.Write Weekday(DateSerial("yyyy","mm","dd"))

%>
Avatar billede squashguy Nybegynder
28. juli 2004 - 02:44 #8
Bare en mindre fejl

"yyyy" = "yyyy"
yyyy = det brugeren har indtastet

Response.Write Weekday(DateSerial(yyyy,mm,dd))
Avatar billede thesurfer Nybegynder
28. juli 2004 - 02:49 #9
Jeg undre mig lidt over, at du bruger QueryString til det her.. normalt vil man indsætte method="post" i <form ...>, og bruge noget=Request.Form("felt-navn-her")..
Avatar billede thesurfer Nybegynder
28. juli 2004 - 02:50 #10
hehe.. så ikke det method="post": <form action="deadline.asp" method="post">

Så skal din kode være:

boxes=Request.Form("boxes")
yyyy=Request.Form("year")
mm=Request.Form("month")
dd=Request.Form("day")
Avatar billede tommy_carstensen Nybegynder
28. juli 2004 - 02:51 #11
Det er dag nr. 2 med ASP for mig, så jeg er ikke så skarp. Dit/dine sidste svar kan jeg bruge. Nu skal jeg bare finde ud af, hvordan jeg giver dig de 60 point. Jeg beklager, at jeg er alvorligt nybegynder.
Avatar billede thesurfer Nybegynder
28. juli 2004 - 02:52 #12
Du kan kun give points, hvis der er lagt svar, som dette her :-)

marker navnet i boksen til venstre, og klik derefter på Accepter-knappen..
Avatar billede thesurfer Nybegynder
28. juli 2004 - 02:54 #13
Avatar billede tommy_carstensen Nybegynder
28. juli 2004 - 03:01 #14
Hej thesurfer,
Jeg har læst og gennemgået http://www.html.dk/tutorials/asp/ på min "første" dag. Svaret på mit spørgsmål står ikke i den tutorial. Det virker tilsyneladende nu, bortset fra, at weekday angives med 1 dags forskydning (lørdag=7, søndag=1, etc.). Kan jeg rette denne fejl på en nem måde?
Avatar billede thesurfer Nybegynder
28. juli 2004 - 03:04 #15
Se http://www.w3schools.com/vbscript/func_weekday.asp :

Weekday(date[,firstdayofweek])

0 = vbUseSystemDayOfWeek - Use National Language Support (NLS) API setting
1 = vbSunday - Sunday (default)
2 = vbMonday - Monday
3 = vbTuesday - Tuesday
4 = vbWednesday - Wednesday
5 = vbThursday - Thursday
6 = vbFriday - Friday
7 = vbSaturday - Saturday

Jeg tror at man kan bruge:

Weekday("din dato her", 2)
Avatar billede thesurfer Nybegynder
28. juli 2004 - 03:05 #16
Min henvisning til ASP Tutorial, var bl.a. pga querysting/form.. hvis du er i tvivl om noget (f.eks. databaser), kigger du bare i den..
Avatar billede tommy_carstensen Nybegynder
28. juli 2004 - 03:19 #17
w3schools.com er helt genialt. Tak for det link. Excel regner også søndag som dag 1, hvilket også ændres til mandag ved at efterfølge med ;2
Response.Write Weekday(DateSerial(yyyy,mm,dd,),2)
giver imidlertid desværre en syntaksfejl. Det forstår jeg ikke. Jeg kan godt gå videre med mit projekt med nuværende resultat, men hvis du ved, hvordan dag1 rettes til mandag, må du meget gerne tilføje til indlægget.
Tak for hjælpen til jer begge!
Avatar billede thesurfer Nybegynder
28. juli 2004 - 03:22 #18
Der skal ikke være "," mellem "dd" og ")": dd,),2)

Vent til hamderpolle har lagt et svar.. så kan du markere begge navne (hold CTRL-tasten nede og klik på begge navne), og derefter klikke på Accepter-knappen.

Husk at læse vejledningen og reglerne, på linksne i mit indlæg 28/07-2004 02:54:12.
Avatar billede thesurfer Nybegynder
28. juli 2004 - 03:22 #19
hamderpolle> Hvis du vil ha' points, skal du bare sige til :-)
Avatar billede thesurfer Nybegynder
28. juli 2004 - 03:23 #20
tommy_carstensen> Takker for points :-)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester