<%
Dim dagar
manad = 0
dagar = DateDiff("d","2002-07-01",Date)
Do Until dagar =< 30
manad = manad + 1
dagar = dagar - 30
Loop
%>
Som ni kanske ser så är jag inte så haj på ASP, undrar om någon kan hjälpa mig skriva om denna kodsnutt? För det blir fel med min kod, för alla månader är ju inte 30 dagar... Det jag vill är ju att få veta hur många månader och dagar sedan detta datum var...
Det finns ett par alternativ du kan använda dig av. Antingen gör du två uträkningar på antalet månader (det kan ju hända att dagen du söker kan vara den 30:e och du står på den 2:e)
Eller så kör du en grym datediff(dateadd(datepart))) sats som räknar allt på samma gång :)
Ska se om jag hittar en sak som LarsG hjälpte mig med
/red det var inte alls den koden jag trodde, letar vidare :)
if datepart("d", "2002-07-01") > datepart("d", date) then
'koden som räknar ut om dagen som inte är nu har större tal
else
'kod som räknar ut antalet månader och dagar
end if
nåt sådant skulle man kanske kunna göra, känns klumpigt iofs.
'koden som räknar ut om dagen som inte är nu har större tal
Jag känner att jag inte klarar av att skriva detta i ASP, liksom februari har ju 28 ibland och 29 ibland, du kan inte hjälpa mig lite mer hur jag ska göra?
Vin variant som jag precis gjort och testat är väl idiotsäker, men om någon kan göra det enklare så varsegod. Jag tror ialla fall att det är en ganska pedagogisk lösning på problemet :P
<%
datum = #2001-06-14#
if datepart("d", datum) > datepart("d", date) then
manad = datediff("m", datum, date) - 1
tmp1 = dateadd("m", -manad, date)
tmp2 = datediff("d", datum, date)
tmp3 = datediff("d", tmp1, date)
dagar = tmp2-tmp3
else
manad = datediff("m", datum, date)
dagar = datepart("d", date) - datepart("d", datum)
end if
With Response
.Write "Dagens Datum: " & date() & "<br>"
.Write "Äldre Datum: " & datum & "<br>"
.Write "Antal månader till det äldre datumet: " & manad & "<br>"
.Write "Antal dagar till det äldre datumet EFTER att antalet månader räknats bort: " & dagar & "<br><br><br>"
.Write "tmp1: " & tmp1 & "<br>"
.Write "tmp2: " & tmp2 & "<br>"
.Write "tmp3: " & tmp3 & "<br>"
End With
%>
Det ser då ut såhär på sidan när det skrivs ut till klienten:
Dagens Datum: 2003-01-03
Äldre Datum: 2001-06-14
Antal månader till det äldre datumet: 18
Antal dagar till det äldre datumet EFTER att antalet månader räknats bort: 19
tmp1: 2001-07-03
tmp2: 568
tmp3: 549
testa gärna med att byta ut datum = #2002-07-01# mot villket datum du finner för gott.