On 9/9/06 10:21 AM, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> wrote:
> On 9/9/06 12:03 PM, "Jim Ault" <[EMAIL PROTECTED]> wrote: >> Here is my version using the approach of 'dateitems' >> This rendition *should* do things correctly and accommodate leap years. >> It will also calculate days till next birthday. > > It appears that any birth year before 1970 results in an incorrect > calculation. Entering 5/18/65, the result is: days old = 54750 years old = > 149 exact years old = 149.945205 next > Bday = 20 days from now > Hmmmm, my version seems to work fine. Maybe I did a typo or something in building the message to the list. --------------- using quotes around the date calcbackdate "5/18/65" days old = 15089 years old = 41 exact years old = 41.312329 next Bday = 251 days from now ------------------- using quotes & a leading space calcbackdate " 5/18/65" days old = 114 years old = 0 exact years old = 0.312329 next Bday = 251 days from now ------------------- using NO quotes calcbackdate 5/18/65 days old = 13401 years old = 36 exact years old = 36.690411 next Bday = 113 days from now ---------------------------------------------------------------------------- here is the fresh version of the script I am using. See if it makes a difference --start copy here on calcbackdate birthdate put word 1 of birthdate into birthdate if birthdate contains "2/29" then replace "2/29" with "2/28" in birthdate put true into leapBirthday --if you need this end if convert birthdate to dateitems put item 1 to 3 of birthdate into birthdate put the short date into noww convert noww to seconds put 24*60*60 into hr24 repeat with x = 1 to 36500 --99+ years put noww - (x*hr24) into past convert past to dateitems if past contains ",2,29," then add 1 to leapDays if past contains birthdate then exit repeat --we are done end repeat put (x - leapDays)/365 into ageInYearsDecimal put (x - leapDays) div 365 into ageInYears put x into ageInDays put ((ageInYears+1) -ageInYearsDecimal)*365 into daysTillNext --did not test for upcoming leap year put "days old = " & ageInDays && " years old = "& ageInYears&cr \ & "exact years old = "& ageInYearsDecimal&& " next Bday = "& daysTillNext \ & " days from now" end calcbackdate --end copy Jim Ault Las Vegas _______________________________________________ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution