[AccessD] Age calculation

Lembit Soobik lembit.dbamail at t-online.de
Tue Jun 26 06:18:32 CDT 2007


"I choose
> to celebrate my birthday every day since at my age I might not get to my
> next birthday."

that's somethign I can agree with :-)

Lembit

----- Original Message ----- 
From: "jwcolby" <jwcolby at colbyconsulting.com>
To: "'Access Developers discussion and problem solving'" 
<accessd at databaseadvisors.com>
Sent: Tuesday, June 26, 2007 12:59 PM
Subject: Re: [AccessD] Age calculation


> The whole argument seems silly.  If you have to wait 365 days to celebrate
> your birthday then after your first "leap year birthday", your next 
> birthday
> (AND ALL SUBSEQUENT BIRTHDAYS) would be on the first of March.  IOW once
> shifted to the first of March, then you always have to wait 365 days after
> that so your birthday would be permanently shifted to the first of 
> March!!!
> And if you take the argument that "well, once it is on the 1st of March, 
> it
> should shift back to February 29th for leap years", then why would not 
> other
> people born on March 1st also have to shift back to February 29th?
>
> You were not born on the first of March, you were born on the 29th of
> February.  You have to wait 366 days one out of 4 years to celebrate your
> birthday, and thus the following year you have to wait 364 days to "make 
> up
> for" having to wait the extra day the year before.
>
> In the end, if you live exactly X number of years, your total number of 
> days
> alive are the same regardless of when you celebrate your birthday.  I 
> choose
> to celebrate my birthday every day since at my age I might not get to my
> next birthday.  But in the end, that won't change how long I live.
>
> John W. Colby
> Colby Consulting
> www.ColbyConsulting.com
> -----Original Message-----
> From: accessd-bounces at databaseadvisors.com
> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock
> Sent: Tuesday, June 26, 2007 6:29 AM
> To: accessd at databaseadvisors.com
> Subject: Re: [AccessD] Age calculation
>
> Hi Susan
>
>> That's not an error -- you can't expect date arithmetic to apply a
>> "business" rule, and frankly, that's what it is. The expression is
>> returning the correct answer, it just isn't the answer you require.
>
> It's not me and it's not a business rule. It's the answer to the question:
> Which date to pick if the date (Feb. 29.) does not exist? The day before 
> or
> the day after?
> As the day after falls in a different month, the logical answer is to pick
> the day before.
> This is exactly what DateAdd() does:
>
>  DateAdd("yyyy", 1, #2/29/2000#)
>
> which returns 2001-02-28.
>
> And for a reason. You may hear the argument, that a "full year", 365 days,
> must pass to be one year older, thus a leapling must pass Feb. 28. for any
> year which means Feb. 29 in leap years and Mar. 1. in common years.
> However, those people haven't done their home work. Consider these 
> examples
> using the expression:
>
>  ? DateDiff("d", d1, d2)
>
> d1 = #1/28/2001#
> d2 = #1/28/2002#
> Result: 365
>
> d1 = #10/28/2001#
> d2 = #10/28/2002#
> Result: 365
>
> d1 = #1/28/2000# (leap year)
> d2 = #1/28/2001#
> Result: 366
>
> d1 = #10/28/2000# (leap year)
> d2 = #10/28/2001#
> Result: 365
>
> d1 = #2/28/2000# (leap year)
> d2 = #2/28/2001#
> Result: 366
>
> d1 = #2/29/2000# (leap year)
> d2 = #2/28/2001#
> Result: 365
>
> d1 = #2/29/2000# (leap year)
> d2 = #3/1/2001#
> Result: 366
>
> You'll see, that only those born before Feb. 29. in a leap year will have
> 366 days until their birthday of the following year, while the majority 
> (as
> the Oct. example) will have 365 days - as will those of birthday Feb. 
> 29. -
> thus nothing indicates why the leaplings should wait one day, increasing 
> the
> count of days from 365 to 366, to celebrate their birthday. In fact, the
> only argument seems to be a question of personal preference which is
> non-arguable and fully valid though useless for business purposes or 
> public
> authorities.
>
>> Seems like it would be easy enough to run a simple check -- if it's a
>> Feb 29 birthdate and the date is Feb 28, add 1.
>
> Yes, that's what my function does - of course for common years only.
>
> /gustav
>
>>>> ssharkins at setel.com 26-06-2007 00:39 >>>
> That's not an error -- you can't expect date arithmetic to apply a
> "business" rule, and frankly, that's what it is. The expression is 
> returning
> the correct answer, it just isn't the answer you require.
>
> Seems like it would be easy enough to run a simple check -- if it's a Feb 
> 29
> birthdate and the date is Feb 28, add 1.
>
> Susan H.
>
>
> -- 
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>
>
> -- 
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.5.476 / Virus Database: 269.9.8/869 - Release Date: 25.06.2007 
> 17:32
>
> 




More information about the AccessD mailing list