Počítadlo věku - countup – HTML / XHTML – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Počítadlo věku - countup – HTML / XHTML – Fórum – Programujte.comPočítadlo věku - countup – HTML / XHTML – Fórum – Programujte.com

 

smokeflypaper
~ Anonymní uživatel
1 příspěvek
27. 4. 2009   #1
-
0
-

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>

Nahlásit jako SPAM
IP: 193.165.2.–
plasmo0
Věrný člen
27. 4. 2009   #2
-
0
-

Gratuluji k synovi.

Zkus upravit část kde jsou dny takto:

...

if(days == 1){

agestr = agestr + days + " den ";

}else if(days < 5){

agestr = agestr + days + " dny ";

}else{

agestr = agestr + days + " dnů ";

}

...

Nahlásit jako SPAM
IP: 82.150.166.–
Jak vzniká vynález? To všichni vědí, že je něco nemožné, a pak se objeví nějaký blázen, který neví, že je to nemožné, a udělá vynález. [br] Albert Einstein [br][br] http://plasmo.cz [br] http://bleskovaregistrace.cz [br] http://livetrading.cz
Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
27. 4. 2009   #3
-
0
-

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.. ;)

Nahlásit jako SPAM
IP: 193.165.2.–
plasmo0
Věrný člen
28. 4. 2009   #4
-
0
-

To Anonymní uživatel : Rád pomůžu :-)

Nahlásit jako SPAM
IP: 82.150.164.–
Jak vzniká vynález? To všichni vědí, že je něco nemožné, a pak se objeví nějaký blázen, který neví, že je to nemožné, a udělá vynález. [br] Albert Einstein [br][br] http://plasmo.cz [br] http://bleskovaregistrace.cz [br] http://livetrading.cz
ZdenekS
~ Anonymní uživatel
1 příspěvek
28. 4. 2009   #5
-
0
-

Díky za nabídku a možná ji hned využiji. :)

Dle poskytnuté rady jsem aplikoval stejně na měsíce a roky, leč dělám asi chyby v syntaxi protože script po mém zásahu prostě nefunguje... :\

mohl bych poprosit ještě o pomoc se skloňováním měsíců, roků dále také s tím aby po určité době (2 roky) stále script zobrazoval i měsíce týdny a dny a také pokud by šlo do toho zakomponovat počítání dle délky jednotlivých měsíců?

Jsem ochoten přispět za námahu a čas nad tím strávený nějakej ten peníz ;)

Těším se na odpověď
Zdeněk

Nahlásit jako SPAM
IP: 85.161.125.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 11 hostů

Podobná vlákna

Vypocet veku — založil vlado0991

Pracovníci podle věku — založil Liborg

Počítadlo wz — založil petr

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý