Kira: Tageszähler....tage vergangen seit DATUM

Hallo, ich habe folgendes Script und zähle damit die Tage seit dem 25.07.2005. Könntet ihr mit helfen, das Script so umzubauen, dass auch Jahre und/oder Monate angezeigt werden?

Oder gibt es irgendwo vielleicht schon fertige Scripte in PHP?

Grüße
Kira

<html>
<font size="4" face="Verdana"><center>Es sind bereits</center></font></p></td>
 </tr>
 <tr>
  <td align="center">
  <div align="left">
 <table width=100% cellpadding=0 cellspacing=0 border=1 id="table13"><tr>
 <td valign=top>
 <p align="center"><font size="5">&nbsp;<script language="JavaScript1.2">

function setcountup(theyear,themonth,theday){
yr=theyear;mo=themonth;da=theday
}

//AB WANN WIRD GEZÄHLT:
setcountup(2005,7,25)

var displaymessage=""

//FORMATIERUNG width, height, background color, text style
var countupwidth='95%'
var countupheight='20px' //applicable only in NS4
var countupbgcolor='white'
var opentags='<font face="Verdana" color="#FF0000"><small>'
var closetags='</small></font>'

var montharray=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
var crosscount=''

function start_countup(){
if (document.layers)
document.countupnsmain.visibility="show"
else if (document.all||document.getElementById)
crosscount=document.getElementById&&!document.all?document.getElementById("countupie") : countupie
countup()
}

if (document.all||document.getElementById)
document.write('<span id="countupie" style="width:'+countupwidth+'; background-color:'+countupbgcolor+'"></span>')

window.onload=start_countup

function countup(){
var today=new Date()
var todayy=today.getYear()
if (todayy < 1000)
todayy+=1900
var todaym=today.getMonth()
var todayd=today.getDate()
var todayh=today.getHours()
var todaymin=today.getMinutes()
var todaysec=today.getSeconds()
var todaystring=montharray[todaym]+" "+todayd+", "+todayy+" "+todayh+":"+todaymin+":"+todaysec
paststring=montharray[mo-1]+" "+da+", "+yr
dd=Date.parse(todaystring)-Date.parse(paststring)
dday=Math.floor(dd/(60*60*1000*24)*1)
dhour=Math.floor((dd%(60*60*1000*24))/(60*60*1000)*1)
dmin=Math.floor(((dd%(60*60*1000*24))%(60*60*1000))/(60*1000)*1)
dsec=Math.floor((((dd%(60*60*1000*24))%(60*60*1000))%(60*1000))/1000*1)

if (document.layers){
document.countupnsmain.document.countupnssub.document.write(opentags+dday+" Tage"+" und "+dhour+" Stunden "+displaymessage+closetags)
document.countupnsmain.document.countupnssub.document.close()
}
else if (document.all||document.getElementById)
crosscount.innerHTML=opentags+dday+" Tage"+" und "+dhour+" Stunden "+displaymessage+closetags

setTimeout("countup()",1000)
}
</script></div></font></table>

</td>
 </tr>
 <tr>
  <td align="center"><center><font face="Verdana" size="4">vergangen seit du aufgehört hast zu rauchen!</font></td>
 </tr>
</html>

  1. Moin,

    was ein Code-Ungetüm! Das stammt sicher noch aus der JavaScript-Steinzeit.

    Probiers mal so:

      
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  
      "http://www.w3.org/TR/html4/loose.dtd">  
    <html>  
    <head>  
    <title>Der Tag</title>  
    <script type="text/javascript">  
    function datum()  
    {  
    var bt=25;  
    var bm=7;  
    var by=2005;  
    with(new Date())  
    {  
    var monat = getMonth();  
    var jahr = getFullYear();  
    var tag = getDate();  
    }  
    var h = Date.UTC(jahr,monat,tag,9,0,0);  
    var d = h - Date.UTC(jahr,bm-1,bt,9,0,0);  
    by = jahr - by;  
    if (d < 0)  
    {  
    d = h - Date.UTC(jahr-1,bm-1,bt,9,0,0);  
    by--;  
    }  
    d/=86400000;  
    by = (d == 0) ? 'genau '+by+' Jahren' : by+' Jahren und '+d+' Tagen';  
    var wo=document.getElementById("derTag");  
    if (wo) wo.firstChild.data=by;  
    }  
    window.onload=datum;  
    </script>  
    </head>  
    <body>  
    <h1>Wann war der 25.7.2005?</h1>  
    <p>Der 25.7.2005 war vor <span id="derTag">langer Zeit</span></p>  
    </body>  
    </html>  
    
    

    Gruß
    rfb