oskars Medlem sedan nov. 2005 1 317 inlägg Frågan 1 feb. 2007 07:52 #1 Hej,
jag har försökt göra en funktion som ska funka så här:
Exempel:
Datum1 = 2007-01-21
Datum2 = 2007-02-20
och så ska datumet se ut, ända tills det blir 2007-02-21... då ska datumen ändras sig enligt följande:
Datum1 = 2007-02-21
Datum2 = 2007-03-20
Jag har försökt göra det, men tycker det är lite snurrigt:
myFirstYear = Year(Date)
mySecondYear = Year(Date)
myFirstMonth = Month(Date) - 1
mySecondMonth = myFirstMonth + 1
Datum1 = myFirstYear & "-" & myFirstMonth & "-21"
Datum2 = mySecondYear & "-" & mySecondMonth & "-20"
Men det blir problem vid månadsskiften...
Tacksam för hjälp :)
oskars Medlem sedan nov. 2005 1 317 inlägg Tack så mkt!
men det står så här: "The Number argument is a multiplier for the Interval argument (i.e., how many days, weeks, months, etc.). If this is a positive number, you will go forward in time. A negative number will go back in time."
Det är ju perfekt, men jag kan inte ange ett visst antal dagar som den ska gå tillbaka i tiden, för det är ju oilka många dagar i varje månad?
@nders Medlem sedan juni 2000 32 967 inlägg Du behöver ju inte använda dateadd för att pilla med dagarna, det räcker att du gör det med år och månad.
Annars kan du ju alltid använda dateserial.
datum2 = dateserial(year(datum), month(datum)+1, day(date))
oskars Medlem sedan nov. 2005 1 317 inlägg aaah, schysst...
problemet är dock vid månadsskiften...
om det står month(date)+1 den 2007-01-31 så visar den ju "2007-02-31"... men när den slår över till 2007-02-01 så visar den ju "2007-03-31"..
:stud
Den här koden visar rätt nu, men jag tror den kommer visa fel när det blir 2007-03-01...
datum1 = dateserial(year(date), month(date)-1, 21)
datum2 = dateserial(year(date), month(date), 21)
Response.Write datum1 & " - " & datum2
@nders Medlem sedan juni 2000 32 967 inlägg
Den här koden visar rätt nu, men jag tror den kommer visa fel när det blir 2007-03-01...
Det är ju bara att prova!
Lägg in de datumen du vill använda i anropet till dateserial...
edit:
om det står month(date)+1 den 2007-01-31 så visar den ju "2007-02-31"...
Och varför vill du inte använda dateadd då? Dateadd är ju jättefin, eftersom den hanterar just detta.
oskars Medlem sedan nov. 2005 1 317 inlägg Hm, ja jo, lite jobbigt att vänta tills dess dock! Har du något tips på hur jag kan testa utan att behöva vänta?
shit vad jag känner mig handledsförlamad och okunnig nu :D
EDIT: jag vill gärna använda DateAdd, men förstår itne så mkt av det :/
@nders Medlem sedan juni 2000 32 967 inlägg
Hm, ja jo, lite jobbigt att vänta tills dess dock! Har du något tips på hur jag kan testa utan att behöva vänta?
@nders skrev:
Lägg in de datumen du vill använda i anropet till dateserial...
mittdatum = #2007-03-01#
datum1 = dateserial(year(mittdatum), month(mittdatum)-1, 21)
datum2 = dateserial(year(mittdatum), month(mittdatum), 21)
Response.Write datum1 & " - " & datum2
jag vill gärna använda DateAdd, men förstår itne så mkt av det :/
Det står ganska utförligt på sidan jag länkade till. Ta bort en månad från ett datum:
mydate = dateadd("m", -1, date)