在php4.0上找到最后一个工作日

时间:2013-12-18 08:02:03

标签: php date

我试图在上周工作日使用代码

查找
$mnt = "Apr 2013"
echo date('d-M-Y', strtotime('last week day', strtotime($mnt)));

但它显示11-Apr-2013

请帮我找出问题所在。

提前致谢。

2 个答案:

答案 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'));