PHP - 每三周显示一次每日菜单的日期等式

时间:2014-06-17 17:41:27

标签: php date math

所以我正在为这家披萨店建立一个网站。

过去我做了一个简单的窗口,周一至周五出现。上午11:30至下午02:00,这很简单。

但是现在我已经要求做同样的事了,但是没有一个单一的"午餐Buffe正在进行中!"盒子,客户想要的是每日菜单(每天都有不同的菜单,这也很容易),但他每周都有3种不同的日常菜单。

所以这是一个例子: 第1周菜单: 星期一:w1m1 星期二:w1m2 ..

第2周菜单: 星期一:w2m1 星期二:w2m2

所以我的问题是: 是否有用于计算的PHP函数/等式"它是第一个,第二个还是第三个"指定开始日期的一周

编辑(不重复,因为): 这不是PHP get number of week for month的副本,因为我没有要求提供周数,我问的是这周与3交替的是什么

答案:

<?php
    function menuNumber($now) {
        $then = '26/05/2014';
        $first = DateTime::createFromFormat('d/m/Y', $then);
        $second = DateTime::createFromFormat('d/m/Y', $now);
        $calculated = (floor($first->diff($second)->days/7) % 3) + 1;
        return $calculated;
    }
    echo "Menu Number " . menuNumber(date("d/m/Y")); // Menu Number 1
?>

帮助来自: php weeks between 2 dates

1 个答案:

答案 0 :(得分:0)

PHP

<?php
    function menuNumber($now) {
        $then = '26/05/2014';
        $first = DateTime::createFromFormat('d/m/Y', $then);
        $second = DateTime::createFromFormat('d/m/Y', $now);
        $calculated = (floor($first->diff($second)->days/7) % 3) + 1;
        return $calculated;
    }
    echo "Menu Number " . menuNumber(date("d/m/Y")); // Menu Number 1
?>

帮助来自:PHP weeks between 2 dates