Avatar billede pezzo Nybegynder
12. januar 2003 - 16:06 Der er 4 kommentarer og
1 løsning

Datoproblem *ARRRHGG*

Hej!

Jeg har et script til et booking system som virker sådan nogen lunde. Hvis jeg angiver aktuel dato via 'Date' virker det, men hvis jeg nu vil have det via en querystring variabel virker det ikke.

<%
if request.querystring("date") <> "" then
MyActDate = request.querystring("date")
else
MyActDate = Date-1
end if
%>

Problemet opstår i linje 45 som er sådan her:
MyDate = MyActDate + t

Hvad pokker er det galt??
Avatar billede sblar Nybegynder
12. januar 2003 - 16:21 #1
Problemet opstår fordi systemet ikke har nogen chance for at vide at MyActDate er en dato, den opfattes som en streng. Prøv at kigge på funktionen CDate.

Fra MSDN:
Visual Basic Scripting Edition 

CDate Function
Returns an expression that has been converted to a Variant of subtype Date.

CDate(date)
The date argument is any valid date expression.

Remarks
Use the IsDate function to determine if date can be converted to a date or time. CDate recognizes date literals and time literals as well as some numbers that fall within the range of acceptable dates. When converting a number to a date, the whole number portion is converted to a date. Any fractional part of the number is converted to a time of day, starting at midnight.

CDate recognizes date formats according to the locale setting of your system. The correct order of day, month, and year may not be determined if it is provided in a format other than one of the recognized date settings. In addition, a long date format is not recognized if it also contains the day-of-the-week string.

The following example uses the CDate function to convert a string to a date. In general, hard coding dates and times as strings (as shown in this example) is not recommended. Use date and time literals (such as #10/19/1962#, #4:45:23 PM#) instead.

MyDate = "October 19, 1962"  ' Define date.
MyShortDate = CDate(MyDate)  ' Convert to Date data type.
MyTime = "4:35:47 PM"        ' Define time.
MyShortTime = CDate(MyTime)  ' Convert to Date data type.
Avatar billede pezzo Nybegynder
12. januar 2003 - 16:30 #2
Taak!!

Ik for noget men hvis man nu har nuværende dato via "Date" og vil have fundet frem til hvornår den næremeste mandag er hvordan gør man det??

(vil gerne give flere point)
Avatar billede sblar Nybegynder
12. januar 2003 - 16:44 #3
MyWeekDay = Weekday(Date) returnerer 1 hvis Date er en søndag, 2 for mandag o.s.v. Derefter er det bare at regne!
Avatar billede pezzo Nybegynder
12. januar 2003 - 16:47 #4
yearh... but how to regning et ud...????
Avatar billede sblar Nybegynder
12. januar 2003 - 17:47 #5
MyWeekDay = Weekday(Date)
Select Case MyWeekDay
  Case 1 ' søndag
    Days = 1
  Case 2 ' mandag
    Days = 7
  Case 3 ' tirsdag
    Days = 6
  Case 4 ' onsdag
    Days = 5
  Case 5 ' torsdag
    Days = 4
  Case 6 ' fredag
    Days = 3
  Case 7 ' lørdag
    Days = 2
End Select

response.write "Der er " & Days & " dage til mandag"
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