To plasmo :
diky za gratulaci a diky za namet. V ramci dnu to jiz funguje perfektne...
Uz jen doladit mesice a pak taky aby to bylo i dlouhodobe funkcni jelikoz to ted s datumem starsim 2 roky uz pocita jen na ty roky..
Ale jeste jednou velke diky za namahu pomohlo mi to.. ;)
Příspěvky odeslané z IP adresy 193.165.2.–
Anonymní uživatel
smokeflypaper
Ahoj, nevím si s tím rady a tady tomu jistě někdo rozumí..
(pokoušel jsem se to upravit ale prostě na to nemám) ani jsem nenašel přesně to co potřebuji.
Chtěl bych počítadlo věku našeho právě narozeného syna. viz http://viktor.snadno.eu/ (nějaký pokus tam již je ale nejsem programátor a z toho co jsem našel jsem to prostě líp nedokázal.. :)
Mělo by to správně skloňovat tzn.:
(1 den, 2 dny, 3 dny, 4 dny, 5 dnů, 6 dnů atd...)
u týdnů měsíců a roků taktéž.
Zároveň se script chová tak že když je výsledný čas delší než dva roky tak už to počítá jen na roky..
Rád bych aby to ukazovalo aktuální čas až po úroveň dnů např.: 2 roky 4 měsíce 3 týdny 6 dnů (a ne třeba 28 měsíců)
Předem děkuji za reakce...
Zdrojový soubor je zde :
Kód:
<HTML>
<head>
<script type="text/javascript">
<!--
function getAge(birth)
{
var now = new Date();
aSecond = 1000;
aMinute = aSecond * 60;
aHour = aMinute * 60;
aDay = aHour * 24;
aWeek = aDay * 7;
aMonth = aDay * 30;
var age = now.getTime() - birth.getTime();
if (age < 0) {
return "not born yet"
}
years = (new Date(now.getTime() - aMonth* (birth.getMonth()) )).getFullYear()
- (new Date(birth.getTime() - aMonth* (birth.getMonth()) )).getFullYear();
offsetNow = (new Date(now.getTime() - aDay* (birth.getDate() -1) ));
offsetBirth = (new Date(birth.getTime() - aDay* (birth.getDate() -1) ));
if(years > 1){
months = years*12 + ( offsetNow.getMonth() - offsetBirth.getMonth()) ;
}else{
months = (now.getFullYear() - birth.getFullYear())*12 + ( offsetNow.getMonth() - offsetBirth.getMonth()) ;
}
agestr="";
if (months < 24){
weeks = Math.floor(age / aWeek);
age -= weeks * aWeek;
days = Math.floor(age / aDay);
if(weeks > 0){
if(weeks == 1){
agestr = agestr + weeks + " týden ";
}else if(weeks < 5){
agestr = agestr + weeks + " týdny ";
}else if(weeks <9){
agestr = agestr + weeks + " týdnů ";
}else{
agestr = agestr + months ;
if(now.getDate() - birth.getDate() > 10){
agestr = agestr + " ½ ";
}
agestr = agestr + " měsíců ";
}
}
if(days > 0){
if(weeks < 9){
if(weeks > 0){
agestr = agestr + " a ";
}
if(days == 1){
agestr = agestr + days + " den ";
}else{
agestr = agestr + days + " dnů ";
}
}
}
}else{
agestr = agestr + years;
if (months%12 > 5 && years<14){
agestr = agestr + " ½ ";
}
agestr = agestr + " let ";
}
return agestr;
}
// -->
</script>
</head>
<BODY>
<CENTER>
<BR>
<script type="text/javascript">
document.write("<font size=2> právě uběhlo " + getAge(new Date("april 17, 2009 ")) + "</font>");
</script>
</CENTER>
</body>
</html>