08. marts 2007 - 18:12Der er
16 kommentarer og 1 løsning
Få fødselsdagsscript til at virke - og vise flere fødselsdage!
Hej eksperter
Jeg har dette script, som desværre ikke virker. Men hvis nogen ku hjælpe mig med at få det til at virke, ville jeg gerne være i stand til at vise flere (ca. 8 stk.)...
Nogen der kan hjælpe med
1) Få scriptet til at virke? (100 point) 2) Få scriptet til at vise flere fødselsdage? (+ 100 point)
SCRIPT:
<% @ Language=VBScript %> <% sBirthdate = "04-01-1985" dato = sBirthdate years = Datediff ("yyyy",dato,date) dato = dateAdd("yyyy",years,dato) mounths = Datediff ("m",dato,date) if mounths < 0 then dato = dateAdd("yyyy",-1,dato) mounths = Datediff ("m",dato,date) years = years - 1 end if dato = dateAdd("m",months,dato) days = Datediff ("d",dato,date) if days < 0 then if months > 0 then months = months - 1 else years = years - 1 months = 11 end if dato = dateAdd("m",-1,dato) days = Datediff ("d",dato,date) end if dinStr = years & " år " & months & " måneder " & days & " dage" Response.Write dinStr %>
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Ja, ligesom scriptet herover skulle gøre. Alder skal bare vises som (YY). Der behøver ikke være et output som fx 27 år, 3 måneder, 4 dage - Alder: 27 år er nok.
Men kan man samtidig lave en funktion, der viser hvor lang tid der er til personens NÆSTE fødselsdag, ville det osse være fedt. Dvs. i stil med
"Alder: 27 år I dag er der XX måneder og XX dage til XXXXX's næste fødselsdag"....
Function GetAge(Dateofbirth) GetAge = Year(Date) - Year(Dateofbirth) If DateDiff("s", Now, Replace(Dateofbirth, Year(Dateofbirth), Year(Date))) > 0 Then GetAge = GetAge - 1 End If End Function
Function DayAndMonths(Dateofbirth)
if Month(DateofBirth) < month(date) then strT = 12 - month(date) strM = strT + Month(Dateofbirth) strY = Year(Date) + 1 end if
if Month(DateofBirth) > month(date) then strM = Month(DateofBirth) - month(date) strY = Year(Date) end if
DayAndMonths = "Personen er i dag " & GetAge(Dateofbirth) & " år og der er " & DateDiff("m",Date,strFullDate) & " måneder og " & strDays & " dage til d. " & Dateofbirth
DayAndMonths = "Personen er i dag " & GetAge(Dateofbirth) & " år og der er " & DateDiff("m",Date,strFullDate) & " måneder og " & strDays & " dage til d. " & Dateofbirth
Tak for svaret, men hvis jeg indsætter min fødselsdato 31-07-1966, så skriver siden: Personen er i dag 40 år og der er 4 måneder og 22 dage til d. 31-07-1966 ???
Hvor der skulle stå: Personen er i dag 40 år og der er 4 måneder og 22 dage til hans næste fødselsdag d. 31. juli 2007(eller i år i stedet for 2007).
Hvordan kan jeg lægge 7 andres fødselsdage i scriptet..?
DayAndMonths = "Personen er i dag " & GetAge(Dateofbirth) & " år og der er " & DateDiff("m",Date,strFullDate) & " måneder og " & strDays & " dage til d. " & FormatDateTime(strNextBirth, vbLongDate)
DayAndMonths = "" & username & " er i dag " & GetAge(Dateofbirth) & " år og der er " & DateDiff("m",Date,strFullDate) & " måneder og " & strDays & " dage til d. " & FormatDateTime(strNextBirth, vbLongDate) & " til " & sex & " fødselsdag!"
Undskyld, undskyld... Jeg har fået kastet en stor hasteopgave i armene. Kan desværre først gøre noget ved det i næste uge. Håber ikke du har ventet dig selv ihjel... ;-)
Ved ikke lige hvordan man kringler det sidste. Og synes nu også jeg har gjort mit for at få det her til at virke. Brugte trods alt 2 timer med en kammerat for at få lavet det her script til dig!
<% Session.LCID = 1030
Function GetAge(Dateofbirth)
GetAge = Year(Date) - Year(Dateofbirth)
If DateDiff("s", Now, Replace(Dateofbirth, Year(Dateofbirth), Year(Date))) > 0 Then GetAge = GetAge - 1 End If
End Function
Function DayAndMonths(Dateofbirth, username, sex)
If Month(DateofBirth) < month(date) then strT = 12 - month(date) strM = strT + Month(Dateofbirth) strY = Year(Date) + 1 ElseIf Month(DateofBirth) > month(date) then strM = Month(DateofBirth) - month(date) strY = Year(Date) Else strM = Month(DateofBirth) strY = Year(Date) End If
If Day(Dateofbirth) < day(date) Then strDays = DateDiff("d", "01-" & Month(Dateofmonth) & "-" & strY, DateAdd("m", 1, "01-" & Month(Dateofmonth) & "-" & strY)) - day(date) + Day(Dateofbirth) ElseIf Day(Dateofbirth) > Day(date) Then strDays = Day(Dateofbirth) - day(date) Else strDays = 0 End If
DayAndMonths = "" & username & " er i dag " & GetAge(Dateofbirth) & " år og der er " & DateDiff("m",Date,strFullDate) & " måneder og " & strDays & " dage til & sex & " næste fødselsdag fødselsdag!"
Takker og bukker ;-) Men mangler der ikke noget omkring dette:
...næste fødselsdag fødselsdag!" -sidst i funktionen? Og hvor skal " & FormatDateTime(strNextBirth, vbLongDate) & " placeres, så der står "Personen er i dag 40 år og der er 4 måneder og 22 dage til hans næste fødselsdag d. 31. juli 2007"..???
Jeg placerede denne hersens <% Response.Write Year(date) %> i stedet for det aktuelle årstal i overskriften (den fra 10/04-2007 18:51:08). Det virker, se evt. http://www.peterogdeandrekopier.dk/birthdays.asp
Nu mangler jeg bare at få funktionen til at regne/Write YY i sidste del af sætningen. Er det Year(date) MINUS 1966 på én eller anden måde???
Jeg har iøvrigt intet imod at donere yderligere point, hvis det er det er... *S*
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.