php中的每月第三个星期四

php中的每月第三个星期四,php,Php,有没有一种方法可以在php中找到一周中有特定日期的哪一天 我不是说 date('D', $timestamp); 我的意思是,如果我提供像2010-10-21这样的日期,它将返回“第三个星期四”。strotime()似乎理解语法。您只需要将所讨论的月份的第一天作为起点就可以了 echo date("d.m.Y", strtotime("third thursday", mktime(0,0,0,10,1,2010))); // Will output October 21 echo

有没有一种方法可以在php中找到一周中有特定日期的哪一天

我不是说

date('D', $timestamp);
我的意思是,如果我提供像2010-10-21这样的日期,它将返回“第三个星期四”。

strotime()
似乎理解语法。您只需要将所讨论的月份的第一天作为起点就可以了

 echo date("d.m.Y", strtotime("third thursday", mktime(0,0,0,10,1,2010))); 
 // Will output October 21

 echo date("d.m.Y", strtotime("third thursday", mktime(0,0,0,11,1,2010))); 
 // Will output November 18

不是直接的,您需要一个助手函数:

function literalDate($timestamp) {
    $timestamp = is_numeric($timestamp) ? $timestamp : strtotime($timestamp);
    $weekday   = date('l', $timestamp);
    $month     = date('M', $timestamp);   
    $ord       = 0;

    while(date('M', ($timestamp = strtotime('-1 week', $timestamp))) == $month) {
        $ord++;
    }

    $lit = array('first', 'second', 'third', 'fourth', 'fifth');
    return strtolower($lit[$ord].' '.$weekday);
}

echo literalDate('2010-10-21'); // outputs "third thursday"
工作示例:


我想你搞错了,他想要的是
date=>literal representation
,而不是
literal representation=>date
。你是说
$weekday=date('l',$timestamp)