Hej! Så här enkelt gör Vi i VB6. Kan du härma det ? Jag knåpade ihop dessa kodrader<code:asp> Hej!Datediff
Jag använder följande kod för att få fram datumskillnaden mellan 2 datum.
<code><%Datum = DateDiff("d", Date, "2008-04-20") %><%=replace(Datum,"-","")%> </code>
men nu till frågan. När datumet kommer upp till ett år så står det ju fortfarande bara antal dagar.
Kan man med någon simpel kod få det utskrivet med år, månader och dagar?. Det går annars bra med bara året och dagarna, men plus i kanten om man får fram månaderna också.
//JockeSv: Datediff
<code>
Dim dOne As Long, dTwo As Long
dOne = CDate(2006 - 4 - 26)
dTwo = CDate(Date) ' idag
MsgBox Format$(dTwo - dOne, "yy-mm-dd")
</code>Sv:Datediff
Session.LCID = 1053
tempStr=""
'dagens datum
today = Date()
theDate = "1979-01-31"
date_diff_y=DateDiff("yyyy",theDate,today,2,2)
y=DateAdd("yyyy",-date_diff_y, today) 'samma datum för (date_diff_y) år sedan
date_diff_m=DateDiff("m",theDate,today,2,2) -1
m=DateAdd("m",date_diff_m,theDate)
date_diff_m2=DateDiff("m",m,today,2,2)
'Response.Write m &"<br />"
date_diff_d=DateDiff("d", m,today)
If date_diff_y>0 Then Response.write date_diff_y & " år, "
If date_diff_m2=1 Then
Response.write date_diff_m2 & " månad, "
elseIf date_diff_m2>1 Then
Response.write date_diff_m2 & " månader, "
End If
If date_diff_d=1 Then
Response.write date_diff_d & " dag"
elseIf date_diff_d>1 Then
Response.write date_diff_d & " dagar"
End if
</code>
Dock buggade den lite för månaderna så jag drog bort en månad manuelltSv: Datediff
Ursäkta om jag dröjt, har varit bortrest.
Tack för din kod Jonas, men jag får ändå inte ihop det.
Använder jag din kod, så i skrivande stund är det den 18 Mars.
Sätter jag theDate till 2008-04-20 så blir resultatet 1 år, 1 månad, 26 dagar
Lite konstigt, då det inte har gått ett år ännu. Skulle vari 11 månader och x antal dagar.
Har försökt ändra lite, men förstår inte riktigt hur scriptet funkar. Vad betyder tex alla 2:or
som du skrivit i paranteserna?
//Jocke