php forum
php mysql forum
php mysql smarty
 
Topic Options
#109986 - 02/10/06 05:30 AM Forum Age
Raziel Offline
Junior Member

Registered: 01/22/06
Posts: 11
Whats wrong with this code?

var startDate = ['08','02','2006'];

// Forum Age
var sta = new Date();
sta.setDate(startDate[0]);
sta.setMonth(startDate[1]-1);
sta.setYear(startDate[2]);
var cur = new Date();
var dif = cur - sta;
var totalMonth = 0;
var totalYear = 0;
var totalDay = Math.floor(dif/(60 * 60 * 24 * 1000)) + 1;
while(totalDay > 365) {
totalDay -= 365;
totalYear++;
}
while(totalDay > 30) {
totalDay -= 30;
totalMonth++;
}
var age = totalDay+' days';
if(totalMonth > 0)
age += ', '+totalMonth+' months';
if(totalYear > 0)
age += ', '+totalYear+' year';
age += '.';

Top
#109987 - 02/14/06 12:00 AM Re: Forum Age
Brett Offline
Moderator

Registered: 05/04/01
Posts: 992
Loc: Twinsburg, Ohio
The plus 1 on the totalday variable seems to throwing things off by one day. Fundamentally the month/year counts will be off due to the fact that (leap) years and every other month is not 30 days. Correcting this by taking into account such variations into months will be a hefty amount of javascript.


More or less out of boredom I cleaned up the code taking out the while loops
Code:
<script type="text/javascript">
<!--
var startDate = ['08','02','2005']; 

// Forum Age
var sta = new Date(startDate[2], startDate[1] - 1, startDate[0]);
var dif = (new Date() - sta) / 86400000; // milliseconds in day
var age, display = new Array(0, 0, 0);

// Find Years
if(dif >= 365) {
	display[0] = Math.floor(dif / 365);
	dif -= (display[0] * 365); // take days off total
}

// Find Months
if(dif >= 30) {
	display[1] = Math.floor(dif / 30);
	dif -= (display[1] * 30); // take days off total
}

// Find Days
display[2] = Math.floor(dif);

document.writeln(display[2] + " days, " + display[1] + " months, " + display[0] + " years");
-->
</script>

Top
#109988 - 03/09/06 07:19 AM Re: Forum Age
Raziel Offline
Junior Member

Registered: 01/22/06
Posts: 11
Thanks Brett smile

Top


Top Posters Last 30 Days
AllenAyres 83
Gizmo 28
Zarzal 21
sirdude 19
blaaskaak 14
willing 7
swebs 6
Who's Online
1 Registered (ginalee), 43 Guests and 11 Spiders online.
Key: Admin, Global Mod, Mod
Shout Box

Latest Posts
[7.3.x] ubb.links
by AllenAyres
Yesterday at 06:15 PM
Changing currency for subscriptions?
by AllenAyres
Yesterday at 01:15 PM
Protect users emails
by AllenAyres
Yesterday at 11:36 AM
VPS and Newbies
by Gizmo
07/02/08 09:08 PM
Team UBBDev Rides Again!
by AllenAyres
07/02/08 11:38 AM
Drupal / UBB integration module for Drupal
by blaaskaak
06/30/08 01:52 PM
[7.3.x] Scheduled board close for backup
by AllenAyres
06/30/08 12:51 PM
New Mods
Protect users emails
by Basil Fawlty
06/29/08 08:44 AM
[7.3.x] Scheduled board close for backup
by blaaskaak
06/26/08 04:01 AM
[7.3+] CustomTag - Audo Embedding
by Gizmo
06/24/08 07:52 PM
[7.3.x] ubb.links
by AllenAyres
06/20/08 11:50 PM
[7.3] Dissallow quotes more then 3 levels deep
by blaaskaak
06/09/08 09:01 AM
Newest Members
ryzilla, M4D, Jer, Kanigo2, Bubba
13302 Registered Users

 

 

 
fusionbb message board php hacks