我试图在上周工作日使用代码
查找$mnt = "Apr 2013"
echo date('d-M-Y', strtotime('last week day', strtotime($mnt)));
但它显示11-Apr-2013
请帮我找出问题所在。
提前致谢。
答案 0 :(得分:2)
此功能可能适用于PHP> = 4.x版本:
function lastWeekDay($mnt) {
$result = strtotime("1 $mnt");
$result = mktime(0, 0, 0, date('n', $result) + 1, 0, date('Y', $result));
while (in_array(date('D', $result), array('Sat', 'Sun'))) $result -= 86400;
return $result;
}
echo date('d-M-Y', lastWeekDay('Apr 2013')); # 30-Apr-2013
的 demo 强>
答案 1 :(得分:1)
<?php
function lastWeekDay ($mnt)
{
$result = strtotime("last day of $mnt");
$day = date('D', $result);
if ('Sun' === $day)
{
$result -= 86400 * 2;
}
if ('Sat' === $day)
{
$result -= 86400;
}
return $result;
}
echo date('d-M-Y', lastWeekDay('Apr 2013'));