<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DZone Snippets: year code</title>
    <link>http://snippets.dzone.com/posts</link>
    <pubDate>Sat, 17 May 2008 16:01:38 GMT</pubDate>
    <description>DZone Snippets: year code</description>
    <item>
      <title>Increment a date using Ruby</title>
      <link>http://snippets.dzone.com/posts/show/5200</link>
      <description>This Ruby code converts a string into a date and increments the day, week, month, quarter or year.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;def date_add(sdate='', unit='',i=0)&lt;br /&gt;&lt;br /&gt;  sdate[/(\d+)\/(\d+)\/(\d+)\s(\d+):(\d+):(\d+)/]&lt;br /&gt;  iyear = $3.to_i; imonth = $2.to_i; iday = $1.to_i; ihour = $4.to_i; imin = $5.to_i; isec = $6.to_i&lt;br /&gt;  &lt;br /&gt;  case  unit&lt;br /&gt;    when 'days'&lt;br /&gt;      t1 = Time.local(iyear,imonth,iday,ihour,imin,isec)&lt;br /&gt;      t1 += (60 * 60 * 24 * i)&lt;br /&gt;    when 'weeks'&lt;br /&gt;      t1 = Time.local(iyear,imonth,iday,ihour,imin,isec)&lt;br /&gt;      t1 += (60 * 60 * 24 * 7 * i) &lt;br /&gt;    when 'months'&lt;br /&gt;      imonth += i&lt;br /&gt;      if imonth &lt; 12 then&lt;br /&gt;        t1 = Time.local(iyear,imonth+i,iday,ihour,imin,isec)&lt;br /&gt;      else&lt;br /&gt;        t1 = Time.local(iyear+=1,imonth -12,iday,ihour,imin,isec)&lt;br /&gt;      end&lt;br /&gt;    when 'quarter'&lt;br /&gt;      imonth += 3&lt;br /&gt;      if imonth &lt;= 12 then&lt;br /&gt;        t1 = Time.local(iyear,imonth,iday,ihour,imin,isec)&lt;br /&gt;      else&lt;br /&gt;        t1 = Time.local(iyear+=1,imonth - 12,iday,ihour,imin,isec)&lt;br /&gt;      end    &lt;br /&gt;    when 'years'&lt;br /&gt;      t1 = Time.local(iyear+i,imonth,iday,ihour,imin,isec)&lt;br /&gt;    else&lt;br /&gt;      raise 'not a valid date unit'&lt;br /&gt;  end&lt;br /&gt;  t1&lt;br /&gt;end&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;date_add("17/03/2008 17:48:00",'months',2)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;output: Sat May 17 17:48:00 +0100 2008&lt;br /&gt;&lt;br /&gt;</description>
      <pubDate>Wed, 05 Mar 2008 13:43:34 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/5200</guid>
      <author>jrobertson (James Robertson)</author>
    </item>
    <item>
      <title>Calculate last day of current Month</title>
      <link>http://snippets.dzone.com/posts/show/5183</link>
      <description>'Determines what the next month is based on today and subtracts 1 day from first day of next month. &lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;'VB.NET&lt;br /&gt;Dim NextMonth As Integer&lt;br /&gt;Dim RptYear As Integer&lt;br /&gt;'Determine next month&lt;br /&gt;NextMonth = DatePart(DateInterval.Month, DateAdd(DateInterval.Month, +1, today))&lt;br /&gt;'Determine the year of the next month, in case you are going from Dec to Jan&lt;br /&gt;RptYear = DatePart(DateInterval.Year, DateAdd(DateInterval.Month, +1, today))&lt;br /&gt;'Subtract 1 day from the first day of next month to get this months last day&lt;br /&gt;Return DateAdd(DateInterval.Day, -1, DateValue(NextMonth.ToString &amp; "/1/" &amp; RptYear.ToString))&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;</description>
      <pubDate>Wed, 27 Feb 2008 19:13:47 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/5183</guid>
      <author>bmowbray (Brian Mowbray)</author>
    </item>
    <item>
      <title>Formatting a date in XSLT</title>
      <link>http://snippets.dzone.com/posts/show/5118</link>
      <description>This template formats a date ie 060208171320 -&gt; 06-Feb-08T17:13:20&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;  &lt;xsl:template name="FormatDate"&gt;&lt;br /&gt;    &lt;xsl:param name="DateTime" /&gt;&lt;br /&gt;    &lt;!-- new date format 2006-01-14T08:55:22 --&gt;&lt;br /&gt;    &lt;xsl:variable name="mo"&gt;&lt;br /&gt;      &lt;xsl:value-of select="substring($DateTime,3,2)" /&gt;&lt;br /&gt;    &lt;/xsl:variable&gt;&lt;br /&gt;    &lt;xsl:variable name="day"&gt;&lt;br /&gt;      &lt;xsl:value-of select="substring($DateTime,5,2)" /&gt;&lt;br /&gt;    &lt;/xsl:variable&gt;&lt;br /&gt;    &lt;xsl:variable name="year"&gt;&lt;br /&gt;      &lt;xsl:value-of select="substring($DateTime,1,2)" /&gt;&lt;br /&gt;    &lt;/xsl:variable&gt;&lt;br /&gt;    &lt;xsl:variable name="hh"&gt;&lt;br /&gt;      &lt;xsl:value-of select="substring($DateTime,7,2)" /&gt;&lt;br /&gt;    &lt;/xsl:variable&gt;&lt;br /&gt;    &lt;xsl:variable name="mm"&gt;&lt;br /&gt;      &lt;xsl:value-of select="substring($DateTime,9,2)" /&gt;&lt;br /&gt;    &lt;/xsl:variable&gt;&lt;br /&gt;    &lt;xsl:variable name="ss"&gt;&lt;br /&gt;      &lt;xsl:value-of select="substring($DateTime,11,2)" /&gt;&lt;br /&gt;    &lt;/xsl:variable&gt;&lt;br /&gt;    &lt;xsl:if test="(string-length($day) &amp;lt; 2)"&gt;&lt;br /&gt;      &lt;xsl:value-of select="0"/&gt;&lt;br /&gt;    &lt;/xsl:if&gt;&lt;br /&gt;    &lt;xsl:value-of select="$day"/&gt;&lt;br /&gt;    &lt;xsl:value-of select="'-'"/&gt;&lt;br /&gt;    &lt;xsl:choose&gt;&lt;br /&gt;      &lt;xsl:when test="$mo = '01'"&gt;Jan&lt;/xsl:when&gt;&lt;br /&gt;      &lt;xsl:when test="$mo = '02'"&gt;Feb&lt;/xsl:when&gt;&lt;br /&gt;      &lt;xsl:when test="$mo = '03'"&gt;Mar&lt;/xsl:when&gt;&lt;br /&gt;      &lt;xsl:when test="$mo = '04'"&gt;Apr&lt;/xsl:when&gt;&lt;br /&gt;      &lt;xsl:when test="$mo = '05'"&gt;May&lt;/xsl:when&gt;&lt;br /&gt;      &lt;xsl:when test="$mo = '06'"&gt;Jun&lt;/xsl:when&gt;&lt;br /&gt;      &lt;xsl:when test="$mo = '07'"&gt;Jul&lt;/xsl:when&gt;&lt;br /&gt;      &lt;xsl:when test="$mo = '08'"&gt;Aug&lt;/xsl:when&gt;&lt;br /&gt;      &lt;xsl:when test="$mo = '09'"&gt;Sep&lt;/xsl:when&gt;&lt;br /&gt;      &lt;xsl:when test="$mo = '10'"&gt;Oct&lt;/xsl:when&gt;&lt;br /&gt;      &lt;xsl:when test="$mo = '11'"&gt;Nov&lt;/xsl:when&gt;&lt;br /&gt;      &lt;xsl:when test="$mo = '12'"&gt;Dec&lt;/xsl:when&gt;&lt;br /&gt;    &lt;/xsl:choose&gt;&lt;br /&gt;    &lt;xsl:value-of select="'-'"/&gt;&lt;br /&gt;&lt;br /&gt;    &lt;xsl:value-of select="$year"/&gt;&lt;br /&gt;    &lt;xsl:value-of select="'T'"/&gt;&lt;br /&gt;    &lt;xsl:value-of select="$hh"/&gt;&lt;br /&gt;    &lt;xsl:value-of select="':'"/&gt;&lt;br /&gt;    &lt;xsl:value-of select="$mm"/&gt;&lt;br /&gt;    &lt;xsl:value-of select="':'"/&gt;&lt;br /&gt;    &lt;xsl:value-of select="$ss"/&gt;&lt;br /&gt;  &lt;/xsl:template&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;copied from http://snipr.com/1z833 [geekswithblogs.net] and modified to suit the date input format I used.</description>
      <pubDate>Fri, 08 Feb 2008 00:00:30 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/5118</guid>
      <author>jrobertson (James Robertson)</author>
    </item>
    <item>
      <title>PHP Copyright Updater</title>
      <link>http://snippets.dzone.com/posts/show/3652</link>
      <description>// PHP Copyright Updater&lt;br /&gt;// by Evan Walsh&lt;br /&gt;// NothingConcept.com&lt;br /&gt;&lt;br /&gt;This code will automatically change the copyright on your site as the year changes.  Tested and approved by me.&lt;br /&gt;&lt;br /&gt;Just call this in one of your PHP files by including the file with this code in it:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;?php&lt;br /&gt;//Licensed under the GPL v2&lt;br /&gt;//by Evan Walsh of nothingconcept.com&lt;br /&gt;function copyright($site,$year) {&lt;br /&gt;    $current = date(Y);&lt;br /&gt;    if($year == $current) { $eyear = $year; }&lt;br /&gt;    else { $eyear = "$year - $current"; }&lt;br /&gt;    echo "All content &amp;copy; $eyear $site";&lt;br /&gt;}&lt;br /&gt;?&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Example: &lt;?php include('functions.php'); ?&gt;&lt;br /&gt;&lt;br /&gt;Then place &lt;?php copyright("Sitename","2007"); ?&gt; or something similar in the place you want the copyright to display.&lt;br /&gt;&lt;br /&gt;Simple as that.</description>
      <pubDate>Fri, 09 Mar 2007 22:41:51 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/3652</guid>
      <author>GreyFox (Evan Walsh)</author>
    </item>
    <item>
      <title>Is Date //JavaScript Function</title>
      <link>http://snippets.dzone.com/posts/show/2204</link>
      <description>&lt;a href="http://jsfromhell.com/geral/is-date"&gt;&lt;br /&gt;Checks if a date is valid and returns error codes described bellow.&lt;br /&gt;&lt;br /&gt;[UPDATED CODE AND HELP CAN BE FOUND HERE]&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;//+ Jonas Raoni Soares Silva&lt;br /&gt;//@ http://jsfromhell.com/geral/is-date [v1.0]&lt;br /&gt;&lt;br /&gt;isDate = function(y, m, d){ //v1.0&lt;br /&gt;        if(typeof y == "string" &amp;&amp; m instanceof RegExp &amp;&amp; d){&lt;br /&gt;            if(!m.test(y)) return 1;&lt;br /&gt;            y = RegExp["$" + d.y], m = RegExp["$" + d.m], d = RegExp["$" + d.d];&lt;br /&gt;        }&lt;br /&gt;        d = Math.abs(d) || 0, m = Math.abs(m) || 0, y = Math.abs(y) || 0;&lt;br /&gt;        return arguments.length != 3 ? 1 : d &lt; 1 || d &gt; 31 ? 2 : m &lt; 1 || m &gt; 12 ? 3 : /4|6|9|11/.test(m) &amp;&amp; d == 31 ? 4&lt;br /&gt;        : m == 2 &amp;&amp; (d &gt; ((y = !(y % 4) &amp;&amp; (y % 1e2) || !(y % 4e2)) ? 29 : 28)) ? 5 + !!y : 0;&lt;br /&gt;};&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Usage&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;&lt;br /&gt;&lt;br /&gt;getDateMsg = function(x){&lt;br /&gt;    return x == 0 ? "Valid Date"&lt;br /&gt;    : x == 1 ? "Invalid date format"&lt;br /&gt;    : x == 2 ? "Invalid day"&lt;br /&gt;    : x == 3 ? "Invalid month"&lt;br /&gt;    : x == 4 ? "In April, June, September and November there's no 31 day"&lt;br /&gt;    : x == 5 ? "February has only 28 days"&lt;br /&gt;    : x == 6 ? "In leap years, February has 29 days": "nothing =]";&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;var x = [&lt;br /&gt;    isDate("22/07/1984", /^([0-9]{1,2})[\/]([0-9]{1,2})[\/]([0-9]{1,4})$/, {d: 1, m: 2, y: 3}),&lt;br /&gt;    isDate("1984-07-22", /^([0-9]{4})-([0-9]{2})-([0-9]{2})$/, {d: 3, m: 2, y: 1}),&lt;br /&gt;    isDate("07-22-1984", /^([0-9]{4})-([0-9]{2})-([0-9]{2})$/, {d: 3, m: 2, y: 1}),&lt;br /&gt;    isDate(2000, 1, 32),&lt;br /&gt;    isDate(2000, 0, 1),&lt;br /&gt;    isDate(2000, 4, 31),&lt;br /&gt;    isDate(2001, 2, 29),&lt;br /&gt;    isDate(2004, 2, 30)&lt;br /&gt;];&lt;br /&gt;&lt;br /&gt;for(var i = -1, l = x.length; ++i &lt; l; document.write(getDateMsg(x[i]), "&lt;br /&gt;"));&lt;br /&gt;&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Help&lt;br /&gt;&lt;code&gt;&lt;br /&gt;isDate(y: Integer, m: Integer, d: Integer): Integer&lt;br /&gt;    Checks a date and returns 0 if it's valid or one of the error codes bellow.&lt;br /&gt;    y year&lt;br /&gt;    m month&lt;br /&gt;    d day&lt;br /&gt;&lt;br /&gt;	&lt;br /&gt;isDate(date: String, matcher: RegExp, map: Object): Integer&lt;br /&gt;    Checks a date and returns 0 if it's valid or one of the error codes bellow.&lt;br /&gt;    date date in a string form&lt;br /&gt;    matcher regular expression responsible to find and store the day, month and year&lt;br /&gt;    			&lt;br /&gt;    map object containing the position where each date component is localized inside the regular expression. Its format is the following: {d: positionOfTheDay, m: positionOfTheMonth, y: positionOfTheYear}								&lt;br /&gt;Return codes&lt;br /&gt;    * 0 = Valid date&lt;br /&gt;    * 1 = Date format invalid (regular expression failed or amount of arguments != 3)&lt;br /&gt;    * 2 = Day isn't between 1 and 31&lt;br /&gt;    * 3 = Month isn't between 1 and 12&lt;br /&gt;    * 4 = On April, June, September and November there isn't the day 31&lt;br /&gt;    * 5 = On February the month has only 28 days&lt;br /&gt;    * 6 = Leap year, February has only 29 days&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Thu, 15 Jun 2006 20:12:01 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/2204</guid>
      <author>jonasraoni (Jonas Raoni Soares Silva)</author>
    </item>
    <item>
      <title>DateTime: Simple date operations in javascript</title>
      <link>http://snippets.dzone.com/posts/show/932</link>
      <description>&lt;code&gt;&lt;br /&gt;/*&lt;br /&gt;### begin_: file metadata&lt;br /&gt;    ### &lt;region-file_info&gt;&lt;br /&gt;    ### main:&lt;br /&gt;    ###   - name : cfDateTime.js&lt;br /&gt;    ###     desc : |&lt;br /&gt;    ###         Simple date operations in jscript.&lt;br /&gt;    ###         This file is for use with windows scripting host.&lt;br /&gt;    ###     date : created="Thu 2005-12-01 11:57:38"&lt;br /&gt;    ###     last : lastmod="Thu 2005-12-01 12:18:57"&lt;br /&gt;    ###     lang : jscript&lt;br /&gt;    ###     tags : jscript javascript date time now month hour year cfDateTime&lt;br /&gt;    ### &lt;/region-file_info&gt;&lt;br /&gt;    */&lt;br /&gt;&lt;br /&gt;/// begin_: declare and init variables&lt;br /&gt;    var today       = new Date();&lt;br /&gt;    var strYear     = today.getFullYear();&lt;br /&gt;    var iMonth      = today.getMonth() + 1; // +1, we do NOT want zero-based month index&lt;br /&gt;    var iQuarter    = Math.ceil((iMonth / 12) * 4);&lt;br /&gt;    var iDay        = today.getDate();&lt;br /&gt;    var strDateOut  = "";&lt;br /&gt;&lt;br /&gt;/// begin_: leading zeropad single-digit numbers&lt;br /&gt;    iMonth = (iMonth &lt; 10)? "0" + iMonth : iMonth;&lt;br /&gt;    iDay = (iDay &lt; 10)? "0" + iDay : iDay;&lt;br /&gt;&lt;br /&gt;/// begin_: display output&lt;br /&gt;    strDateOut = strYear+"-"+ iMonth +"-"+iDay + " ";&lt;br /&gt;    WScript.Echo (strDateOut);&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Fri, 02 Dec 2005 07:17:12 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/932</guid>
      <author>drefty (drefty)</author>
    </item>
    <item>
      <title>DateTime: generic date and time script in perl</title>
      <link>http://snippets.dzone.com/posts/show/927</link>
      <description>&lt;code&gt;&lt;br /&gt;### begin_: file metadata&lt;br /&gt;    ### &lt;region-file_info&gt;&lt;br /&gt;    ### main:&lt;br /&gt;    ###   - name : DateTime.pl&lt;br /&gt;    ###     desc : DateTime: generic date and time script in perl&lt;br /&gt;    ###     date : created="Thu 2005-12-01 10:04:52"&lt;br /&gt;    ###     last : lastmod="Thu 2005-12-01 10:04:59"&lt;br /&gt;    ### &lt;/region-file_info&gt;&lt;br /&gt;&lt;br /&gt;### begin_: initialize perl (optional)&lt;br /&gt;    use strict;&lt;br /&gt;    use warnings;&lt;br /&gt;&lt;br /&gt;### begin_: initialize DateTime values&lt;br /&gt;    my %dttime = ();&lt;br /&gt;    my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);&lt;br /&gt;&lt;br /&gt;### begin_: initialize DateTime number formats&lt;br /&gt;    $dttime{year }  = sprintf "%04d",($year + 1900);  ## four digits to specify the year&lt;br /&gt;    $dttime{mon  }  = sprintf "%02d",($mon + 1);      ## zeropad months&lt;br /&gt;    $dttime{mday }  = sprintf "%02d",$mday;           ## zeropad day of the month&lt;br /&gt;    $dttime{wday }  = sprintf "%02d",$wday + 1;       ## zeropad day of week; sunday = 1;&lt;br /&gt;    $dttime{yday }  = sprintf "%02d",$yday;           ## zeropad nth day of the year&lt;br /&gt;    $dttime{hour }  = sprintf "%02d",$hour;           ## zeropad hour&lt;br /&gt;    $dttime{min  }  = sprintf "%02d",$min;            ## zeropad minutes&lt;br /&gt;    $dttime{sec  }  = sprintf "%02d",$sec;            ## zeropad seconds&lt;br /&gt;    $dttime{isdst}  = $isdst;&lt;br /&gt;&lt;br /&gt;### begin_: xnpDate print iso8601 version date&lt;br /&gt;    print "$dttime{year}-$dttime{mon}-$dttime{mday}\n";&lt;br /&gt;&lt;br /&gt;### begin_: xnpNow show system time&lt;br /&gt;    print "$dttime{year}-$dttime{mon}-$dttime{mday} $dttime{hour}:$dttime{min}:$dttime{sec} \n";&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description>
      <pubDate>Fri, 02 Dec 2005 05:27:40 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/927</guid>
      <author>drefty (drefty)</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>
