reactor Skrevet 27. april 2004 Del Skrevet 27. april 2004 Kan noen forklare meg hvorfor denne koden: session.lcid = 1033 response.write formatdatetime(dateadd("ww",18,#2004/1/1#),vbLongDate) gir resultatet 6. mai 2004 Burde ikke dette gi meg den første dagen i uke 18 (som er 26. april 2004) eller er det jeg som er helt på jordet her? Det jeg bruker det til er å finne ut hvilken måned man er i basert på ukenummeret, og i dette tilfellet rapporterer den da Mai, og dette skaper selvfølgelig problemer når det ikke finnes poster for Mai (den ligger jo i fremtiden). Tips og lure svar mottas med takk! -Geir Rune Lenke til kommentar
Semikolon Skrevet 27. april 2004 Del Skrevet 27. april 2004 det gir datoen som er atten veker etter første januar. altså dag nummer 126 (18 gange 7) Lenke til kommentar
reactor Skrevet 27. april 2004 Forfatter Del Skrevet 27. april 2004 (endret) Det var som søren... det er jo en viss logikk bak det, men det blir egentlig ikke helt riktig. 6. mai har ingenting med uke 18 å gjøre, og ettersom jeg forsto det så er det det faktiske ukenummeret i henhold til den gregorianske kalenderen som regnes ut, og ikke antall uker med 7 dager. Det kunne sikkert vært løst om funksjonen hadde noen argumenter som anga hva man regner som 1. ukedag o.l., men men... Skulle vel ikke ha noen tips på hvordan man ut i fra et ukenummer kan finne ut hvilken dag som er den første i den uken? Endret 27. april 2004 av reactor Lenke til kommentar
Semikolon Skrevet 28. april 2004 Del Skrevet 28. april 2004 6 mai er mest sannsynleg 18 v/126d etter 0101 2004.. sorry, men datobehandling og lignande er nåke av det eg ikkje kan så masse om.. har tenkt å sette meg inn i det og lage en kalender til sida mi, men det får bli seinare. no har eg absolutt ikkje tid. Skriftleg eksamen om tre veker og munnleg om 4/5 veker, jobb, russ og alt for mange andre ting.. Lenke til kommentar
Inge_aning Skrevet 28. april 2004 Del Skrevet 28. april 2004 (endret) Prøv denne: Function getfirstDateOfWeekInWeekFromDate(dateValue, firstDayOfWeek) Dim returnValue returnValue = dateAdd("d", - (datePart("w", dateValue, firstDayOfWeek) - 1), dateValue) getfirstDateOfWeekInWeekFromDate = returnValue End Function Function getFirstDateInWeekFromWeek(weekValue, yearValue, firstDayOfWeek, firstWeekOfYear) Dim tmpDate, tmpWeekModifier tmpDate = dateSerial(yearValue, 1, 1) If datePart("ww", tmpDate, firstDayOfWeek, firstWeekOfYear) = 1 Then tmpWeekModifier = 1 Else tmpWeekModifier = 0 End If tmpDate = dateAdd("ww", weekValue - tmpWeekModifier, tmpDate) returnValue = getfirstDateOfWeekInWeekFromDate(tmpDate, firstDayOfWeek) getFirstDateInWeekFromWeek = returnValue End Function getFirstDateInWeekFromWeek(18, 2004, vbMonday, vbFirstFourDays) blir 26/4/2004 vbMonday og vbFirstFourDays er vb konstanter se: Microsoft MSDN Endret 28. april 2004 av Inge_aning Lenke til kommentar
reactor Skrevet 28. april 2004 Forfatter Del Skrevet 28. april 2004 Takker for den, Inge_Aning. Jeg skal se om jeg kan få brukt dette isteden. Planen var egentlig å kjøre alt i en enkelt SQL setning, noe som jeg på forhånd ville gå bra, men jeg tror jeg dropper det og lager litt mer kode på selve ASP siden isteden. Takk for all hjelp iallfall! Lenke til kommentar
Inge_aning Skrevet 29. april 2004 Del Skrevet 29. april 2004 Tror det ikke er mulig å gjøre noe slikt i sql. Vad jag vet så kan man ikke sette firstweekofyear i sql. då får man amerikansk ukenummer som skiljer sig fra norskt. Om jag minns rett så er uke 1 alltid FirstJan1, medans i norge er det FirstFourDays. Bruk funktionerna som jag skrev tidigare i din asp-side. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå