<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DZone Snippets: age code</title>
    <link>http://snippets.dzone.com/posts</link>
    <pubDate>Sat, 17 May 2008 21:52:54 GMT</pubDate>
    <description>DZone Snippets: age code</description>
    <item>
      <title>Check for under age</title>
      <link>http://snippets.dzone.com/posts/show/3048</link>
      <description>This function can be used to check if a user is underage.&lt;br /&gt;&lt;br /&gt;Note: This is using rails core extensions. It'd need to be modified a bit for a pure ruby implementation.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;def underage?(birthday)&lt;br /&gt;  18.years.ago &lt; birthday&lt;br /&gt;end&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Tue, 28 Nov 2006 07:00:07 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/3048</guid>
      <author>jrm02t ()</author>
    </item>
    <item>
      <title>Calculate age in C#</title>
      <link>http://snippets.dzone.com/posts/show/1632</link>
      <description>using System;&lt;br /&gt;using System.Data;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;public static class Snippets&lt;br /&gt;{&lt;br /&gt;    public static int CalculateAge(DateTime birthdate)&lt;br /&gt;    {&lt;br /&gt;        // get the difference in years&lt;br /&gt;        int years = DateTime.Now.Year - birthdate.Year;&lt;br /&gt;        // subtract another year if we're before the&lt;br /&gt;        // birth day in the current year&lt;br /&gt;        if (DateTime.Now.Month &lt; birthdate.Month || (DateTime.Now.Month == birthdate.Month &amp;&amp; DateTime.Now.Day &lt; birthdate.Day))&lt;br /&gt;            years--;&lt;br /&gt;&lt;br /&gt;        return years;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Sat, 04 Mar 2006 07:04:01 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/1632</guid>
      <author>Edgardo (Edgardo Rossetto)</author>
    </item>
    <item>
      <title>Calculate Age</title>
      <link>http://snippets.dzone.com/posts/show/1310</link>
      <description>With this function you can calculate the age of a person&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;echo "Age is: " . birthday ("1984-07-05");&lt;br /&gt;&lt;br /&gt;Result will be (23 Feb 2005) = "Age is: 20"&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;?php&lt;br /&gt;&lt;br /&gt;  //calculate years of age (input string: YYYY-MM-DD)&lt;br /&gt;  function birthday ($birthday){&lt;br /&gt;    list($year,$month,$day) = explode("-",$birthday);&lt;br /&gt;    $year_diff  = date("Y") - $year;&lt;br /&gt;    $month_diff = date("m") - $month;&lt;br /&gt;    $day_diff   = date("d") - $day;&lt;br /&gt;    if ($day_diff &lt; 0 || $month_diff &lt; 0)&lt;br /&gt;      $year_diff--;&lt;br /&gt;    return $year_diff;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;?&gt;&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Sat, 28 Jan 2006 23:32:45 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/1310</guid>
      <author>mjlintz ()</author>
    </item>
    <item>
      <title>How Old</title>
      <link>http://snippets.dzone.com/posts/show/623</link>
      <description>Javascript function to determine how old someone is.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;// ---------------------------------------------------------------------------|&lt;br /&gt;// qryHowOld                                                                  |&lt;br /&gt;// Description: How old someone is in the format:                             |&lt;br /&gt;// XXX Years XX Months X Weeks X Days                                         |&lt;br /&gt;// Birth Date could be specified like Date.UTC(2002,8,16,17,42,0)             |&lt;br /&gt;//                                                                            |&lt;br /&gt;// Arguments:                                                                 |&lt;br /&gt;//    varAsOfDate: as of date                                                 |&lt;br /&gt;//    varBirthDate: birth date                                                |&lt;br /&gt;//                                                                            |&lt;br /&gt;function qryHowOld(varAsOfDate, varBirthDate)&lt;br /&gt;   {&lt;br /&gt;   var dtAsOfDate;&lt;br /&gt;   var dtBirth;&lt;br /&gt;   var dtAnniversary;&lt;br /&gt;   var intSpan;&lt;br /&gt;   var intYears;&lt;br /&gt;   var intMonths;&lt;br /&gt;   var intWeeks;&lt;br /&gt;   var intDays;&lt;br /&gt;   var intHours;&lt;br /&gt;   var intMinutes;&lt;br /&gt;   var intSeconds;&lt;br /&gt;   var strHowOld;&lt;br /&gt;&lt;br /&gt;   // get born date&lt;br /&gt;   dtBirth = new Date(varBirthDate);&lt;br /&gt;   &lt;br /&gt;   // get as of date&lt;br /&gt;   dtAsOfDate = new Date(varAsOfDate);&lt;br /&gt;&lt;br /&gt;   // if as of date is on or after born date&lt;br /&gt;   if ( dtAsOfDate &gt;= dtBirth )&lt;br /&gt;      {&lt;br /&gt;&lt;br /&gt;      // get time span between as of time and birth time&lt;br /&gt;      intSpan = ( dtAsOfDate.getUTCHours() * 3600000 +&lt;br /&gt;                  dtAsOfDate.getUTCMinutes() * 60000 +&lt;br /&gt;                  dtAsOfDate.getUTCSeconds() * 1000    ) -&lt;br /&gt;                ( dtBirth.getUTCHours() * 3600000 +&lt;br /&gt;                  dtBirth.getUTCMinutes() * 60000 +&lt;br /&gt;                  dtBirth.getUTCSeconds() * 1000       )&lt;br /&gt;&lt;br /&gt;      // start at as of date and look backwards for anniversary &lt;br /&gt;&lt;br /&gt;      // if as of day (date) is after birth day (date) or&lt;br /&gt;      //    as of day (date) is birth day (date) and&lt;br /&gt;      //    as of time is on or after birth time&lt;br /&gt;      if ( dtAsOfDate.getUTCDate() &gt; dtBirth.getUTCDate() ||&lt;br /&gt;           ( dtAsOfDate.getUTCDate() == dtBirth.getUTCDate() &amp;&amp; intSpan &gt;= 0 ) )&lt;br /&gt;         {&lt;br /&gt;&lt;br /&gt;         // most recent day (date) anniversary is in as of month&lt;br /&gt;         dtAnniversary = &lt;br /&gt;            new Date( Date.UTC( dtAsOfDate.getUTCFullYear(),&lt;br /&gt;                                dtAsOfDate.getUTCMonth(),&lt;br /&gt;                                dtBirth.getUTCDate(),&lt;br /&gt;                                dtBirth.getUTCHours(),&lt;br /&gt;                                dtBirth.getUTCMinutes(),&lt;br /&gt;                                dtBirth.getUTCSeconds() ) );&lt;br /&gt;&lt;br /&gt;         }&lt;br /&gt;&lt;br /&gt;      // if as of day (date) is before birth day (date) or&lt;br /&gt;      //    as of day (date) is birth day (date) and&lt;br /&gt;      //    as of time is before birth time&lt;br /&gt;      else&lt;br /&gt;         {&lt;br /&gt;&lt;br /&gt;         // most recent day (date) anniversary is in month before as of month&lt;br /&gt;         dtAnniversary = &lt;br /&gt;            new Date( Date.UTC( dtAsOfDate.getUTCFullYear(),&lt;br /&gt;                                dtAsOfDate.getUTCMonth() - 1,&lt;br /&gt;                                dtBirth.getUTCDate(),&lt;br /&gt;                                dtBirth.getUTCHours(),&lt;br /&gt;                                dtBirth.getUTCMinutes(),&lt;br /&gt;                                dtBirth.getUTCSeconds() ) );&lt;br /&gt;&lt;br /&gt;         // get previous month&lt;br /&gt;         intMonths = dtAsOfDate.getUTCMonth() - 1;&lt;br /&gt;         if ( intMonths == -1 )&lt;br /&gt;            intMonths = 11;&lt;br /&gt;&lt;br /&gt;         // while month is not what it is supposed to be (it will be higher)&lt;br /&gt;         while ( dtAnniversary.getUTCMonth() != intMonths )&lt;br /&gt;&lt;br /&gt;            // move back one day&lt;br /&gt;            dtAnniversary.setUTCDate( dtAnniversary.getUTCDate() - 1 );&lt;br /&gt;&lt;br /&gt;         }&lt;br /&gt;&lt;br /&gt;      // if anniversary month is on or after birth month&lt;br /&gt;      if ( dtAnniversary.getUTCMonth() &gt;= dtBirth.getUTCMonth() )&lt;br /&gt;         {&lt;br /&gt;&lt;br /&gt;         // months elapsed is anniversary month - birth month&lt;br /&gt;         intMonths = dtAnniversary.getUTCMonth() - dtBirth.getUTCMonth();&lt;br /&gt;&lt;br /&gt;         // years elapsed is anniversary year - birth year&lt;br /&gt;         intYears = dtAnniversary.getUTCFullYear() - dtBirth.getUTCFullYear();&lt;br /&gt;&lt;br /&gt;         }&lt;br /&gt;&lt;br /&gt;      // if birth month is after anniversary month&lt;br /&gt;      else&lt;br /&gt;         {&lt;br /&gt;&lt;br /&gt;         // months elapsed is months left in birth year + anniversary month&lt;br /&gt;         intMonths = (11 - dtBirth.getUTCMonth()) + dtAnniversary.getUTCMonth() + 1;&lt;br /&gt;&lt;br /&gt;         // years elapsed is year before anniversary year - birth year&lt;br /&gt;         intYears = (dtAnniversary.getUTCFullYear() - 1) - dtBirth.getUTCFullYear();&lt;br /&gt;&lt;br /&gt;         }&lt;br /&gt;&lt;br /&gt;      // to calculate weeks, days, hours, minutes and seconds&lt;br /&gt;      // we can take the difference from anniversary date and as of date&lt;br /&gt;&lt;br /&gt;      // get time span between two dates in milliseconds&lt;br /&gt;      intSpan = dtAsOfDate - dtAnniversary;&lt;br /&gt;&lt;br /&gt;      // get number of weeks&lt;br /&gt;      intWeeks = Math.floor(intSpan / 604800000);&lt;br /&gt;&lt;br /&gt;      // subtract weeks from time span&lt;br /&gt;      intSpan = intSpan - (intWeeks * 604800000);&lt;br /&gt;      &lt;br /&gt;      // get number of days&lt;br /&gt;      intDays = Math.floor(intSpan / 86400000);&lt;br /&gt;&lt;br /&gt;      // subtract days from time span&lt;br /&gt;      intSpan = intSpan - (intDays * 86400000);&lt;br /&gt;&lt;br /&gt;      // get number of hours&lt;br /&gt;      intHours = Math.floor(intSpan / 3600000);&lt;br /&gt;    &lt;br /&gt;      // subtract hours from time span&lt;br /&gt;      intSpan = intSpan - (intHours * 3600000);&lt;br /&gt;&lt;br /&gt;      // get number of minutes&lt;br /&gt;      intMinutes = Math.floor(intSpan / 60000);&lt;br /&gt;&lt;br /&gt;      // subtract minutes from time span&lt;br /&gt;      intSpan = intSpan - (intMinutes * 60000);&lt;br /&gt;&lt;br /&gt;      // get number of seconds&lt;br /&gt;      intSeconds = Math.floor(intSpan / 1000);&lt;br /&gt;&lt;br /&gt;      // create output string     &lt;br /&gt;      if ( intYears &gt; 0 )&lt;br /&gt;         if ( intYears &gt; 1 )&lt;br /&gt;            strHowOld = intYears.toString() + ' Years';&lt;br /&gt;         else&lt;br /&gt;            strHowOld = intYears.toString() + ' Year';&lt;br /&gt;      else&lt;br /&gt;         strHowOld = '';&lt;br /&gt;&lt;br /&gt;      if ( intMonths &gt; 0 )&lt;br /&gt;         if ( intMonths &gt; 1 )&lt;br /&gt;            strHowOld = strHowOld + ' ' + intMonths.toString() + ' Months';&lt;br /&gt;         else&lt;br /&gt;            strHowOld = strHowOld + ' ' + intMonths.toString() + ' Month';&lt;br /&gt;           &lt;br /&gt;      if ( intWeeks &gt; 0 )&lt;br /&gt;         if ( intWeeks &gt; 1 )&lt;br /&gt;            strHowOld = strHowOld + ' ' + intWeeks.toString() + ' Weeks';&lt;br /&gt;         else&lt;br /&gt;            strHowOld = strHowOld + ' ' + intWeeks.toString() + ' Week';&lt;br /&gt;&lt;br /&gt;      if ( intDays &gt; 0 )&lt;br /&gt;         if ( intDays &gt; 1 )&lt;br /&gt;            strHowOld = strHowOld + ' ' + intDays.toString() + ' Days';&lt;br /&gt;         else&lt;br /&gt;            strHowOld = strHowOld + ' ' + intDays.toString() + ' Day';&lt;br /&gt;&lt;br /&gt;      if ( intHours &gt; 0 )&lt;br /&gt;         if ( intHours &gt; 1 )&lt;br /&gt;            strHowOld = strHowOld + ' ' + intHours.toString() + ' Hours';&lt;br /&gt;         else&lt;br /&gt;            strHowOld = strHowOld + ' ' + intHours.toString() + ' Hour';&lt;br /&gt; &lt;br /&gt;      if ( intMinutes &gt; 0 )&lt;br /&gt;         if ( intMinutes &gt; 1 )&lt;br /&gt;            strHowOld = strHowOld + ' ' + intMinutes.toString() + ' Minutes';&lt;br /&gt;         else&lt;br /&gt;            strHowOld = strHowOld + ' ' + intMinutes.toString() + ' Minute';&lt;br /&gt;&lt;br /&gt;      if ( intSeconds &gt; 0 )&lt;br /&gt;         if ( intSeconds &gt; 1 )&lt;br /&gt;            strHowOld = strHowOld + ' ' + intSeconds.toString() + ' Seconds';&lt;br /&gt;         else&lt;br /&gt;            strHowOld = strHowOld + ' ' + intSeconds.toString() + ' Second';&lt;br /&gt;&lt;br /&gt;      }&lt;br /&gt;   else&lt;br /&gt;      strHowOld = 'Not Born Yet'&lt;br /&gt;&lt;br /&gt;   // return string representation&lt;br /&gt;   return strHowOld&lt;br /&gt;   }   &lt;br /&gt;//                                                                            |&lt;br /&gt;// qryHowOld                                                                  |&lt;br /&gt;// ---------------------------------------------------------------------------|&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Fri, 02 Sep 2005 00:06:01 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/623</guid>
      <author>Will_Rickards (Will Rickards)</author>
    </item>
  </channel>
</rss>
