webForumDet fria alternativet
Logga in / Bli medlem

datum !!!

ASP

11 svar · 358 visningar · startad av eriks

Medlem sedan apr. 20011 418 inlägg
Trådstart#1

Hej!
Om jag skriver:

dag = Weekdayname(weekday(01-05-28))
Response.Write dag
...blir dagen tisdag.

dag = Weekdayname(weekday(2001-05-28))
Response.Write dag
...blir dagen söndag.

och idag är det ju måndag! Vad är fel?
Tack! /Erik

Medlem sedan dec. 19998 577 inlägg
#2

Nu säger du ju att den skall ta 2001 minus 05 minus 28... säg att det skall vara ett datum, så funkar det nog bättre:

dag = Weekdayname(weekday(#2001-05-28#))
Response.Write dag
Medlem sedan juni 200032 967 inlägg
#3

hrrmgpft?

dag = Weekdayname(weekday(cdate("2001-05-28")))
Response.Write dag

r: det där ser för taskigt ut, även om det fungerar.

Medlem sedan dec. 19998 577 inlägg
#4

hrrmgpft?

:q

Medlem sedan juni 200032 967 inlägg
#5

stavade jag fel :q

om du ser på min redigering så fattaru! :)

Medlem sedan juli 20003 825 inlägg
#6

Nu vet jag inte vad som är rätt... Som vanligt kan man göra samma grej på flera sätt. Men att ha brädgårdar i löpande asp kod är inte rätt.

Brädgårdarna hör SQL/Access kommandona till.

weekDayName(weekDay(myDate,2),false,2)

I en gammal tråd(?) var det någon som skrev denna koden och den använder jag. Jag fattar inte vad den gör men den fungerar.

Medlem sedan dec. 19998 577 inlägg
#7

det där ser för taskigt ut, även om det fungerar

Nåja, det är väl ingen här som har sagt att VBScript är ett estetiskt vackert språk... ;)

JAg tycker att det är bättre att definiera direkt att det är ett datum istället för att gå omvägen att först skapa en sträng och sedan konvertera den till datumtypen...

Nu spelar det ju inte så stor roll prestandamessigt, det är bara en smaksak för vad som kommer i dom "högre" språken... :)

Mvh, Vide

Medlem sedan dec. 19998 577 inlägg
#8

Men att ha brädgårdar i löpande asp kod är inte rätt.

Har du testat? ;)

Medlem sedan juli 20003 825 inlägg
#9

Suck... nej det har jag inte. Läs inte den raden...

Medlem sedan juni 200032 967 inlägg
#10

ok, det fungerar alldeles utmärkt det vide har skrivit, men jag ser inget som helst användningsområde för det, framför allt inte i det här fallet.

om du ska ta reda på vad det är för veckodag ett visst datum, har du till 99,9999% aldrig datumet hårdkodat, utan hämtar det från en databas, eller har det i en variabel. därför passar cdate() oändligt mycket bättre.

om man gör som vide skrivit ovan, så hade jag lika hellre skrivit

response.write "måndag"

hårdkodar vi datumet kan vi ju lika gärna hårdkoda veckodagen. liksom.

Medlem sedan dec. 19998 577 inlägg
#11

...ändå var det hårdkodat i detta fallet, därav min lösning... :)

Medlem sedan feb. 20014 inlägg
#12

weekDayName(weekDay(myDate,2),false,2)

Om man vill göra tvärtom då?
Jag har veckodagar i databasen och vill ha ut en lista på alla fredagar tre månader framåt...

260 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)