Getting someone's age from dob and current year

Peter Brigham MD pmbrig at gmail.com
Sun Jul 31 11:32:02 EDT 2011


On Jul 31, 2011, at 12:03 AM, Warren Samples wrote:

> On Saturday, July 30, 2011 07:16:44 PM Roger Eller wrote:
>>  convert tToday to seconds
>>  convert tBorn to seconds
> 
> 
> It's been talked about before, but this calls for a reminder: attempting to convert a date prior to Jan 1, 
> 1970 to "seconds" returns "invalid date" instead of a number in Windows. Don't do this if you are going to 
> need this to work in Windows! Under Windows, you need to subtract the birthyear from the current year and 
> determine if the current month/day is later than the birth month/day and subtract one year if necessary. 
> Conveniently, this methods does work on all platforms. 

function doAge tDOB
  -- assumes format of m/d/yy
  set the itemdelimiter to "/"
  put item 3 of tDOB into DOByr
  put item 2 of tDOB into DOBmo
  put item 1 of tDOB into DOBdy
  put item 3 of the short date into nowYr
  put item 2 of the short date into nowMo
  put item 1 of the short date into nowDy
  if DOByr > nowYr then -- prev century
     -- assumes no one with age > 100
     put "19" before DOByr
  else
     put "20" before DOByr
  end if
  put "20" before nowYr
  put nowYr - DOByr into tAge
  if nowMo > DOBmo then return tAge
  if nowMo < DOBmo then return tAge -1
  if nowDy < DOBdy then return tAge -1
  return tAge
end doAge

-- Peter

Peter M. Brigham
pmbrig at gmail.com
http://home.comcast.net/~pmbrig





More information about the use-livecode mailing list