con-f-use
Erfahrenes Mitglied
Okay ich hab dann mal was für dich geschrieben, denn so einfach wie da oben geht's dann doch nicht. Immerhin kann man bei einer Zeitpunktdifferenz ja nicht das date()-Objekt verwenden um das ganze in Jahre und Monate umzurechnen - bei Tagen und allem Kleineren geht das weil die einen fest Umrechnungsfaktor haben, aber Jahre und Monate haben unterschiedlich viele Tage.
Hier also das Script (ich schreibe alle immer auf Englisch):
Hab mal mein Geburtsdatum zum Test eingegeben: 24.02.1986 um 18:43 Uhr.
P.S.
An die Moderatoren: Warum hackt das Forum eigentlich bei de.vu-Adressen das Suffix ab und wieso geröt in HTML-Tags meine Indentation immer durcheinandern (für Letzteres siehe die Zeilen "var monthday = ..." und die vier unter "var b_m =...") ?
Hier also das Script (ich schreibe alle immer auf Englisch):
HTML:
<html><head><title>Alter</title>
<script type="text/javascript"><!--
//Initial variables (without leading zeroes)
var b_m = 43, //Minutes of birth-time
b_h = 18, //Hours of birth-time
b_d = 24, //Days of birth
b_M = 2, //Months of birth
b_y = 1986; //Year of birth
function counter(id){
var m=0,h=0,d=0,M=0,y=0;
var now = new Date();
n_m = now.getMinutes();
n_h = now.getHours();
n_d = now.getDate();
n_M = now.getMonth()+1;
n_y = now.getFullYear();
var monthdays = new Array(31,31,(( n_y % 4 == 0 && ( n_y % 100 != 0 || n_y % 400 == 0)) ? 29 : 28),31,30,31,30,31,31,30,31,30,31);
if (n_m<b_m) {
m = 60 + n_m - b_m;
h--;
} else { m = n_m - b_m; }
if (n_h<b_h) {
h += 24 + n_h - b_h;
d--;
} else { h += n_h - b_h; }
if (n_d<b_d) {
d += monthdays[(n_M-1)] + n_d - b_d;
M--;
} else { d += n_d - b_d; }
if (n_M<b_M) {
M += 12 + n_M - b_M;
y--;
} else { M += n_M - b_M; }
y += n_y - b_y;
display = "Du bist " +
((y>0) ? + y + ((y==1)? " Jahr, " : "Jahre, ") : "") +
((M>0) ? + M + ((M==1)? " Monat, " : " Monate, ") : "") +
((d>0) ? d + ((d==1)? " Tag, " : " Tage, ") : "") +
((h>0) ? + h + ((h==1)? " Stunde, " : " Stunden, ") : "") +
((m>0) ? + m + ((m==1)? " Minute" : " Minuten") : "") +
" alt.";
document.getElementById(id).innerHTML = display;
}
//--></script>
</head><body onLoad="counter('countdown')">
<div id="countdown"></div>
</body></html>
P.S.
An die Moderatoren: Warum hackt das Forum eigentlich bei de.vu-Adressen das Suffix ab und wieso geröt in HTML-Tags meine Indentation immer durcheinandern (für Letzteres siehe die Zeilen "var monthday = ..." und die vier unter "var b_m =...") ?
Zuletzt bearbeitet: