2012-04-04 127 views

回答

1

试试这个:

function getAllWednesday($from_date, $to_date){ 
    // getting number of days between two date range. 
    $number_of_days = count_days(strtotime($from_date),strtotime($to_date)); 

    for($i = 1; $i<=$number_of_days; $i++){ 
     $day = Date('l',mktime(0,0,0,date('m'),date('d')+$i,date('y'))); 
     if($day == 'wednesday'){ 
      echo Date('d-m-Y',mktime(0,0,0,date('m'),date('d')+$i,date('y'))),'<br/>'; 
     } 
    } 
} 

的count_days()函数

function count_days($a, $b) 
{ 
    // First we need to break these dates into their constituent parts: 
    $gd_a = getdate($a); 
    $gd_b = getdate($b); 
    // Now recreate these timestamps, based upon noon on each day 
    // The specific time doesn't matter but it must be the same each day 
    $a_new = mktime(12, 0, 0, $gd_a['mon'], $gd_a['mday'], $gd_a['year']); 
    $b_new = mktime(12, 0, 0, $gd_b['mon'], $gd_b['mday'], $gd_b['year']); 
    // Subtract these two numbers and divide by the number of seconds in a 
    // day. Round the result since crossing over a daylight savings time 
    // barrier will cause this time to be off by an hour or two. 
    return round(abs($a_new - $b_new)/86400); 
} 
+0

'count_days'是我不知道的本地函数,还是假定OP必须自己编写该部分? – Josh 2012-04-04 16:19:37

+0

对不起,但它没有显示开始日期和结束日期之间的日期,而是显示从当前日期到不。时间 – Mann 2012-04-04 16:41:21

+0

@mann和Josh I编辑了答案,并添加了count_days()函数。对不起,我看到了你的问题,我正在同时处理这个问题。 :) – B4NZ41 2012-04-04 17:48:57

相关问题