webForumDet fria alternativet

Datum formatering i år.

ASPur ASP

2 svar · 251 visningar · startad av ConnyFox

Medlem sedan aug. 20011 087 inlägg
Frågan#1

Jo det är så att jag har ett script som gör att man får ut någons ålder från datumet han är född men jag skulle vilja ha det med en decimal alltså typ 17,7 för nu visar den 17. Någon som kan hjälpa mig med detta?

<%
function formatAge(inDate)

  inYear = int(left(inDate,4))
  inMonth = int(right(left(inDate,6),2))
  inDay = int(right(inDate,2))

  nowYear = int(year(now))
  nowMonth = int(month(now))
  nowDay = int(day(now))

  totYear = int(nowYear-inYear)
  totMonth = int(nowMonth-inMonth)
  totDay = int(nowDay-inDay)

  if totMonth > int(-1) then
    if totDay > int(-1) then
      outAge = totYear
    else
      outAge = totYear-1
    end if
  else
    outAge = totYear-1
  end if

  Response.Write(outAge)

end function
%>

------------------
*brölar ljudligt*

Medlem sedan mars 20002 836 inlägg
#2

Då kan du inte "sub-typa" dina variabler till int() eftersom alla dina variabler då blir heltal och således avrundas till närmaste heltal.

Själva uträkningen BÖR inte sub-typas

Du kan testa denna funktion som jag har:

<%
Function FormatAge(ByVal dDate)
	'## -- koll om det finns ett argument --
	If Len(dDate) = 0 OR IsNull(dDate) Then Exit Function

	'## -- kolla så att argumentet är ett giltigt datum --
	'If Not IsDate(dDate) Then Exit Function

	Dim dteTotalYear
	Dim dteTotalMonths
	Dim dteDate
	Dim dteTotalYears

	dteDate = Date()
	dteTotalYear = Year(dteDate) - Year(dDate)
	dteTotalMonths = Month(dteDate) - Month(dDate)

	dteTotalYears = dteTotalYear + (dteTotalMonths/12)

	'## -- return correct age format --
	FormatAge = FormatNumber(dteTotalYears,1)

End Function

Response.Write FormatAge(CDate("1900-01-01"))

cya,
PatrikB

------------------
-=* IF there is a wrong way to do something, then someone will do it *=-

[Redigerat av PatrikB den 01 jan 2002]

Medlem sedan aug. 20011 087 inlägg
#3

tack det funkade fin fint men jag löste det på ett annat sätt som passade mig lite bättre!

------------------
*brölar ljudligt*

141 ms totalt · 3 externa anrop · v20260731065814-full.55e59744
136 ms — hämta forumlista (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)