有没有办法在特定日期的PHP中查找星期几。
我不是说
date('D', $timestamp);
我的意思是,如果我要提供像2010-10-21这样的日期,它将会返回“第三个星期四”。
答案 0 :(得分:12)
不是直接的,你需要一个帮助函数:
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"
工作示例:
答案 1 :(得分:4)
strtotime()
似乎理解语法。您只需要将该月的第一天作为起点提供。
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