Hi use this code.

<?php

function get_day( $describer, $weekday, $reference_date ) {   //$reference_date 
format = m-Y

    $d = explode('-',$reference_date);
   
    switch ($describer) {
        case 'first':  $offset = get_day_offset($reference_date, $weekday); 
break;
        case 'second': $offset = get_day_offset($reference_date, $weekday) + 7; 
break;
        case 'third':  $offset = get_day_offset($reference_date, $weekday) + 
14; break;
        case 'fourth': $offset = get_day_offset($reference_date, $weekday) + 
21; break;
        case 'last':   $reference_date = ($d[0]+1).'-'.($d[1]); $d = 
explode('-',$reference_date);
                       $offset = get_day_offset($reference_date, $weekday) - 7; 
break;
    }
   
    $r = mktime( 0, 0, 0, $d[0], 1+$offset, $d[1] );
    return $r;  //returns timestamp format
}

function get_day_offset( $anchor , $target ) {  //$anchor format = m-Y

    $ts = explode('-',$anchor);
    $ts = mktime(0,0,0,$ts[0],'01',$ts[1]);
   
    $anchor = date("w",$ts);
    $target = strtolower($target);
    $days = array( 'sunday'=>0, 'monday'=>1, 'tuesday'=>2, 'wednesday'=>3, 
'thursday'=>4, 'friday'=>5, 'saturday'=>6 );
   
    $offset = $days[$target] - $anchor;
    if ($offset<0) $offset+=7;
   
    return $offset;  //returns 0-6 for use in get_day();
}

       
$date1 = get_day("Second", "Saturday", "12-2007");
$date2 = get_day("Last", "Friday", "11-2007");
$date3 = get_day("Second", "Sunday", "11-2007");

echo "Last Friday of November, 2007: ".date("m-d-Y", $date2)."<br>";
echo "Second Sunday of November, 2007: ".date("m-d-Y", $date3)."<br>";

?>

if any doubts on this code ask me
hope it works
subba reddy

Bob <[EMAIL PROTECTED]> wrote: Hi,
I'm trying to calculate the 2nd Sun in Nov of the current year, using php 4.3

echo date('w', mktime(0,0,0,11,1));
would give me (0 - 6 Sun to Sat) Nov 1st of current year
Not sure whether I'm on the right track, starting this way?

Tried strtotime(); but maybe I was doing something wrong.
Speed is not too important, as it's only called one.
Any advice on how to tackle this?

Thanks, Bob.




Community email addresses:
  Post message: [email protected]
  Subscribe:    [EMAIL PROTECTED]
  Unsubscribe:  [EMAIL PROTECTED]
  List owner:   [EMAIL PROTECTED]

Shortcut URL to this page:
  http://groups.yahoo.com/group/php-list 
Yahoo! Groups Links





       
---------------------------------
Get easy, one-click access to your favorites.  Make Yahoo! your homepage.

[Non-text portions of this message have been removed]

Reply via email to