如何实现每周的排班任务并可以每月统计

需求是:指定用户一周的任务,一周可能每天都有,或则一周就几天(如:小明 —— 1,3,5值班,小花——2,6,7值班),最后可以统计出 用户指定月份 做任务的总次数(可以是以前的月份,也可能是 未来一个月的 任务次数)因为每个月初是周几不确定,月末周几也不能确定,一点思路也没有;
想了很久,有大佬能提供一个 算法或则 方法吗? 十分感谢(我太蓝了)

在学rust 的小菜鸟啊
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 7

按x年x月x日谁值班来排是不是可以好处理一点 显示的时候 x年x月x日转为周几来显示

4年前 评论

@乄Z 不行,需求确定,以现有排班情况,排班是按周来的排的,这样就能看到每周休几、做几;然后可能看到此人上月工作的时间作息,和本月的工作日程,还有未来一个月的日程计划 :sob:

4年前 评论

@乄Z

file 你可以看下 这是前段页面部分字段信息

4年前 评论

月初是周几不确定,月末周几也不能确定,这个其实是可以确定的。可以维护一张表,在年底把下一年的每个月初或者月末是周几,记下来。甚至于可以把全年的日历记下来。然后就有操作空间了。至于怎么去维护这个表,可以手动维护,也可以使用别人的 API 去拿数据。

4年前 评论

值日表结构如下,前后其他字段省略

...
year    #年字段     int 类型
mouth   #月字段     int类型
week    #周字段     int类型
day     #值日字段   string(2019-12-05)
user_id #用户id
...

添加用户值日日期任务,传入的时间天,换算出年,月,周,写入表数据
你要查询某个用户那一周的值日次数或每月或每年的都可以直接查询了
不知道理解错误没

4年前 评论
// 月初
$first_day = Carbon::now()->addMonths(0)->firstOfMonth()->dayOfWeek;
// 月末
$last_day = Carbon::now()->addMonths(0)->lastOfMonth()->dayOfWeek;

carbon 使用

不知道能不能满足你的需求

4年前 评论

使用 date() 就可以实现。

date('w', strtotime('2019-12-06'))

也可以使用参数 lt 获取对应的英文以及某月的天数

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!