perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 17
Click for quality!




12.02.2012 / 04:08

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Javascript - Clientprogrammierung zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragAlterserrechnung mit JavaScript
Seitenanfang
Hallo liebe JavaScript-Profis.
Ich habe ein Problem:
ich betreibe eine private Homepage und habe HTML ohne größere Probleme in kürzerer Zeit erlernt. Das reicht mir eigentlich vorläufig. Nur für eine kleine Sache bräuchte ich eure Hilfe. Auf meiner Homepage brauche ich öfters mal eine Altersberechnung, die dummerweise nicht mit HTML zu lösen ist. Wie kann ich z.B. aus dem Geburtstag 21.08.1989 ein Alter errechnung. Bitte beschreibt es mir ganz idiotensicher...

über Hilfe wäre ich sehr dankbar.

mit ganzdoll freundlichen Grüßen
Marcus Kossatz
www.mensch-marcus.de

Datum: 25.03.2005-11:05

Beitragre: Alterserrechnung mit JavaScript
Seitenanfang
Teste mal folgendes:

<html>
<head>

<script type="text/javascript">
function formular()
{
document.write('<form name="Geburtsdatum">');
document.write('Bitte geben Sie Ihr Geburtsdatum ein: ');

document.write('<select name="Tag" size="1">');
for (i = 1; i <= 31; i++)
{
document.write('<option value="' + i + '">' + i + '</option>');
}
document.write('</select>');

Monate = new Array('Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember');
document.write('<select name="Monat" size="1">');
for (i = 0; i < 12; i++)
{
document.write('<option value="' + i + '">' + Monate[i] + '</option>');
}
document.write('</select>');

Datum = new Date();
Jahr = Datum.getYear();
Erstes_Jahr = 1950;
document.write('<select name="Jahr" size="1">');
for (i = Erstes_Jahr; i <= Jahr; i++)
{
document.write('<option value="' + i + '">' + i + '</option>');
}
document.write('</select>');

document.write('<input type="button" onClick="alter_berechnen();" value="Mein Alter berechnen">');
document.write('</form>');
}

function alter_berechnen()
{
var heute = new Date();
var heute_Tag = heute.getDate();
var heute_Monat = heute.getMonth();
var heute_Jahr = heute.getYear();

var Geburtsdatum_Tag = document.forms['Geburtsdatum'].elements['Tag'].value;
var Geburtsdatum_Monat = document.forms['Geburtsdatum'].elements['Monat'].value;
var Geburtsdatum_Jahr = document.forms['Geburtsdatum'].elements['Jahr'].value;

var Monatsdauer = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

var Alter_Jahre = 0;
var Alter_Monate = 0;
var Alter_Tage = 0;

if ((Geburtsdatum_Tag == heute_Tag)&&(Geburtsdatum_Monat == heute_Monat))
{
Alter_Jahre = heute_Jahr - Geburtsdatum_Jahr;
alert('Wir gratulieren zum Geburtstag! Sie werden heute ' + Alter_Jahre + ' Jahre alt.');
}

else if ((Geburtsdatum_Tag >= heute_Tag)&&(Geburtsdatum_Monat >= heute_Monat))
{
Alter_Jahre = heute_Jahr - Geburtsdatum_Jahr;
Alter_Monate = heute_Monat - Geburtsdatum_Monat;
Alter_Tage = Geburtsdatum_Tag - heute_Tag;
alert('Sie sind ' + Alter_Jahre + ' Jahre, ' + Alter_Monate + ' Monate und ' + Alter_Tage + ' Tage alt.');
}

else
{
Alter_Jahre = heute_Jahr - Geburtsdatum_Jahr - 1;
if (heute_Jahr == Geburtsdatum_Jahr) Alter_Jahre += 1;

if (heute_Tag >= Geburtsdatum_Tag)
{
if (heute_Monat >= Geburtsdatum_Monat) {Alter_Monate = heute_Monat - Geburtsdatum_Monat;}
else {Alter_Monate = 11 - Geburtsdatum_Monat + heute_Monat;}
Alter_Tage = heute_Tag - Geburtsdatum_Tag;
alert(Monatsdauer[Geburtsdatum_Monat] + ' ' + Geburtsdatum_Tag + ' ' + heute_Tag);
alert('Sie sind ' + Alter_Jahre + ' Jahre, ' + Alter_Monate + ' Monate und ' + Alter_Tage + ' Tage alt.');
}

else
{
if (heute_Monat >= Geburtsdatum_Monat) {Alter_Monate = heute_Monat - Geburtsdatum_Monat;}
else {Alter_Monate = 11 - Geburtsdatum_Monat + heute_Monat;}
Alter_Monate -= 1;
Alter_Tage = Monatsdauer[Geburtsdatum_Monat] - Geburtsdatum_Tag + heute_Tag;
if ( (heute_Jahr % 4 == 1) && (heute_Monat == 3) && (heute_Tag < 28) ) Alter_Tage += 1;
alert('Sie sind ' + Alter_Jahre + ' Jahre, ' + Alter_Monate + ' Monate und ' + Alter_Tage + ' Tage alt.');
}
}
}
</script>

</head>
<body>

<script type="text/javascript">
formular();
</script>

</body>
</html>

Datum: 26.03.2005-13:41

Beitragre: Alterserrechnung mit JavaScript
Seitenanfang
Tja, das klingt gut, aber ich meinte das eigentlich anders:
Ich wollte ein JavaScript-Befehl, in den ich das gewünschte Geburtsdatum einfach nur eintragen muss (in den Befehl und nich in den body), das heißt ein Befehl, wo ich z.B. als Wert "Day" 21, "Month" 8 und "Year" 1989 angebe.
Aber trotzdem wirklich herzlichen Dank für deine Hilfe

mfg,
Marcus

Datum: 26.03.2005-14:08

Beitragre: Alterserrechnung mit JavaScript
Seitenanfang
Du meinst also dass beim Seitenaufruf das Geburtsdatum schon im Script stehen soll? Das ist natürlich machbar. Erklär's mal etwas ausfürlicher.

Datum: 26.03.2005-14:26

Beitragre: Alterserrechnung mit JavaScript
Seitenanfang
Genau so meine ich das, mein Beispiel:

http://www.mensch-marcus.de/pages/x_werder-spieler/micoud.htm

dort ist in der Spalte "Alter" noch nichts. in den <th> will ich das Alter, das sich immer um 1 erhöht, wenn der Mensch Geburtstag hat.

Nun will ich das für andere Spieler auch tun. Bitte sag mir dann genau, an welche Stelle ich das Geburtsdatum eintragen soll.

Vielen Dank für deine freundliche Hilfe

Marcus
----------------------------------------
Marcus Kossatz
Zuckerstraße 76a
03130 Spremberg
Home: www.mensch-marcus.de
E-Mail: mail@mensch-marcus.de
Handy: 0174/8850653
----------------------------------------

Datum: 26.03.2005-16:22

Beitragre: Alterserrechnung mit JavaScript
Seitenanfang
Erst noch eine kleine Anmerkung: Tabellenzellen definiert man mit TD. TH wird verwendet für die oberste Reihe bzw. die linke Spalte für die Angaben welche Daten in der jeweiligen Reihe bzw. Spalte kommen.

Ich kann dir das Script schnell umbauen. Aber was meinst du mit "das Alter das sich jeweils um 1 erhöht"?

Datum: 26.03.2005-16:34

Beitragre: Alterserrechnung mit JavaScript
Seitenanfang
Mein ich ja <td>...
hab mich vertippt

na ich meine:
wenn derjenige z.B. am 3.3.2000 geburtstag hat, will ich, dass wenn der 3.3. 2006 ist, das alter automatisch von 5 auf 6 springt!

Datum: 26.03.2005-18:41

Beitragre: Alterserrechnung mit JavaScript
Seitenanfang
<html>
<head>

<script type="text/javascript">
function alter(Tag, Monat, Jahr)
{
var heute = new Date();

Monat = Monat + 1;
var Geburtsdatum = new Date(Jahr, Monat, Tag);

var Alter = heute - Geburtsdatum;
var Alter = Math.floor(Alter/31536000000) + 1;
//31536000000

alert(Alter);
}
</script>

</head>
<body>

<table>
<tr>
<td>
<script type="text/javascript">alter(21,8,1989);</script>
</td>
</tr>
</table>

</body>
</html>

Datum: 26.03.2005-19:04

Beitragre: Alterserrechnung mit JavaScript
Seitenanfang
Mein letztes Script war fehlerhaft. Nimm dieses:

<html>
<head>

<script type="text/javascript">
function alter(Tag, Monat, Jahr)
{
var heute = new Date();

Monat = Monat - 1;
var Geburtsdatum = new Date(Jahr, Monat, Tag);

var Alter = heute - Geburtsdatum;
var Alter = Math.floor(Alter/31536000000);

alert(Alter);
}
</script>

</head>
<body>

<table>
<tr>
<td>
<script type="text/javascript">alter(21,8,1989);</script>
</td>
</tr>
</table>

</body>
</html>

Datum: 27.03.2005-09:48

Beitragre: Alterserrechnung mit JavaScript
Seitenanfang
Tja, das is ja wirklich super, wie das so geht, aber jetzt kommt ja das als JavaScript-Fenster, ich möchte aber, dass das Alter als in diesem <td> steht und zwar in der Selben Schriftart und Größe wie die andere Schrift .

Sorry, dass ich dir soviel Probleme bereite

Danke
Marcus

Datum: 27.03.2005-11:45

Beitragre: Alterserrechnung mit JavaScript
Seitenanfang
Kannst du mal ein Link geben, sodass ich mir das mal anschauen kann?

Datum: 27.03.2005-13:34

Beitragre: Alterserrechnung mit JavaScript
Seitenanfang
Whoops, das war mein Fehler.

Setze folgendes in deinem HEAD-Bereich:

<script type="text/javascript">
function alter(Tag, Monat, Jahr)
{
var heute = new Date();

Monat = Monat - 1;
var Geburtsdatum = new Date(Jahr, Monat, Tag);

var Alter = heute - Geburtsdatum;
var Alter = Math.floor(Alter/31536000000);

document.write(Alter + ' Jahre');
}
</script>

In der Tabellenzelle setzt du dann noch:

<script type="text/javascript">alter(21,8,1989);</script>

Datum: 27.03.2005-13:42

Beitragre: Alterserrechnung mit JavaScript
Seitenanfang
Super, Danke, alles funktioniert!!!

Genauso habe ich mir das vorgestellt. Vielen Vielen Dank

mfg,
Marcus

----------------------------------------
Marcus Kossatz
Zuckerstraße 76a
03130 Spremberg
Home: www.mensch-marcus.de
E-Mail: mail@mensch-marcus.de
Handy: 0174/8850653
----------------------------------------

Datum: 27.03.2005-22:24

-






-
-