/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Udregn fødselsdag...
Fra : Preben Meisner


Dato : 07-09-02 12:35

Jeg har et lille problem, jeg vil via DateFiff udregne alderne på
en person, angivet i år.
Det virker fint med at få den til at regne dette ud, men den
angiver resulatet i dage, nogen der ved hvordan jeg kan lave dem
om til år i stedte for? Her er min kode:

<%
dBirthDay = #12/16/84#
dDatoNow = Date()
Response.Write DateDiff("d", dBirthDay, dDatoNow)
%>

På forhånd tak

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
René Jensen (07-09-2002)
Kommentar
Fra : René Jensen


Dato : 07-09-02 12:45

Preben Meisner wrote:
> Jeg har et lille problem, jeg vil via DateFiff udregne alderne på
> en person, angivet i år.

F.eks.: DateDiff("yyyy", dBirthDay, dDateNow)

--
Med venlig hilsen,
René Jensen


Peter Lykkegaard (07-09-2002)
Kommentar
Fra : Peter Lykkegaard


Dato : 07-09-02 12:56

Som svar på skriblerier forfattet af René Jensen

> Preben Meisner wrote:
>> Jeg har et lille problem, jeg vil via DateFiff udregne alderne på
>> en person, angivet i år.
>
> F.eks.: DateDiff("yyyy", dBirthDay, dDateNow)

Er du nu også helt sikker?
Der kommer et skæringspunkt hvor alderen skifter

Prøv at søge tilbage i gruppen via Google
Spørgsmålet har været stillet mange gange før

mvh/Peter Lykkegaard



René Jensen (07-09-2002)
Kommentar
Fra : René Jensen


Dato : 07-09-02 13:11

Peter Lykkegaard wrote:
> Er du nu også helt sikker?

Nej ikke 100% sikker, men det virkede fint med den dato, som var angivet
i det oprindelig indlæg.

--
Med venlig hilsen,
René Jensen


Peter Lykkegaard (07-09-2002)
Kommentar
Fra : Peter Lykkegaard


Dato : 07-09-02 13:13

Som svar på skriblerier forfattet af René Jensen

> Peter Lykkegaard wrote:
>> Er du nu også helt sikker?
>
> Nej ikke 100% sikker, men det virkede fint med den dato, som var
> angivet i det oprindelig indlæg.

I nogle tilfælde kan det være en fordel at beregne fødselsdatoen på den måde
du foreslår

Prøv at eksperimenter med din egen fødselsdato, bruge gerne datoer først og
sidst på året
Det burde skrige til himlen hvorfor det ikke virker

mvh/Peter Lykkegaard



Preben Meisner (15-09-2002)
Kommentar
Fra : Preben Meisner


Dato : 15-09-02 14:34

Hmm...jeg har nu prøvet div. ting men kan simpelhen ikke få det til at virke...
når jeg skriver:

<%
dBirthDay = #16/12/84#
dDatoNow = Date()
Response.Write DateDiff("yyyy", dBirthDay, dDatoNow)
%>

Får den det til at give 18 år. HVilket jo er forkert.
Desuden vil jeg gerne have den til at fødselsdags datoen bliver hentet ud af an
database...nogen der kan hjælpe ?

mvh. Preben Meisner

p.s. på forhånd tak


--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Peter Lykkegaard (15-09-2002)
Kommentar
Fra : Peter Lykkegaard


Dato : 15-09-02 14:59

Som svar på skriblerier forfattet af Preben Meisner

> Hmm...jeg har nu prøvet div. ting men kan simpelhen ikke få det til
> at virke... når jeg skriver:
>
> <%
> dBirthDay = #16/12/84#
> dDatoNow = Date()
> Response.Write DateDiff("yyyy", dBirthDay, dDatoNow)
> %>
>
> Får den det til at give 18 år. HVilket jo er forkert.

Function Alder(Birth)
Alder = 0
If IsDate(Birth) Then
Alder = DateDiff("yyyy", Birth, Date)
If DateDiff("d", DateSerial(Year(Date), Month(Birth), Day(Birth)),
Date) < 0 Then
Alder = Alder - 1
End If
End If
End Function

Response.Write Alder(rs(foedselsdato) & "")

mvh/Peter Lykkegaard



Jørn Andersen (15-09-2002)
Kommentar
Fra : Jørn Andersen


Dato : 15-09-02 15:13

On Sun, 15 Sep 2002 13:34:20 +0000 (UTC), Preben Meisner
<pmr@aperfectcircle.dk> wrote:

>Hmm...jeg har nu prøvet div. ting men kan simpelhen ikke få det til at virke...
>når jeg skriver:
>
> <%
>dBirthDay = #16/12/84#
>dDatoNow = Date()
>Response.Write DateDiff("yyyy", dBirthDay, dDatoNow)
>%>
>
>Får den det til at give 18 år. HVilket jo er forkert.

Det er bare fordi du har fødselsdag på det forkerte tidspunkt

Prøv med:
<%
dBirthDay = #16/12/84#

If DateDiff("d", Date, DateSerial(Year(Now), Month(dBirthDay),
Day(dBirthDay))) > 0 Then
   intAlder = DateDiff("yyyy", dBirthDay, Date) - 1
Else
   intAlder = DateDiff("yyyy", dBirthDay, Date)
End If

Response.Write intAlder
%>

Eller lidt kortere:

<%
dBirthDay = #16/12/84#

intAlder = DateDiff("yyyy", dBirthDay, Date)

If DateDiff("d", Date, DateSerial(Year(Now), Month(dBirthDay),
Day(dBirthDay))) > 0 Then
intAlder = intAlder - 1
End If

Response.Write intAlder
%>

NB: Du skal lige fjerne linieskift i koden

Ideen er at checke om der har været fødselsdag i år. Hvis ikke trækkes
én fra "årsforskellen".

>Desuden vil jeg gerne have den til at fødselsdags datoen bliver hentet ud af an
>database...nogen der kan hjælpe ?

Har du checket tutorialen på:
<URL: http://html.dk/tutorials/asp/>
specielt lektion 17 og frem?

Hvis du er sej til SQL, kan du trække alder direkte ud ...


Good luck!

--
Jørn Andersen,
Brønshøj

Morten (15-09-2002)
Kommentar
Fra : Morten


Dato : 15-09-02 20:27

Preben Meisner <pmr@aperfectcircle.dk> wrote in message news:<am228s$aaq$1@sunsite.dk>...
> Hmm...jeg har nu prøvet div. ting men kan simpelhen ikke få det til at virke...
> når jeg skriver:
>
> <%
> dBirthDay = #16/12/84#
> dDatoNow = Date()
> Response.Write DateDiff("yyyy", dBirthDay, dDatoNow)
> %>
>
> Får den det til at give 18 år. HVilket jo er forkert.
> Desuden vil jeg gerne have den til at fødselsdags datoen bliver hentet ud af an
> database...nogen der kan hjælpe ?
>
> mvh. Preben Meisner
>
> p.s. på forhånd tak

Den korrekte metode (beskrevet på MSDN) er:

<%

Function beregnAlder(ByVal birthdate)



   If IsNull(birthdate) Then



      beregnAlder = "-"



   Else



      Dim intAge

      intAge = DateDiff("yyyy", birthdate, Date())



      If Date() < DateSerial(Year(Date()), Month(birthdate), Day(birthdate)) Then

         intAge = intAge - 1

      End If



      beregnAlder = intAge



   End If



End Function

%>

Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408852
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste