首页
留言
统计
朋友
关于
推荐
我的动态
Search
1
宝塔安装git,实现实时更新服务器代码
110 阅读
2
hello world!- 我的博客诞生啦~
78 阅读
3
PHP之PhpSpreadsheet 的使用
68 阅读
4
利用数组做积分系统
61 阅读
5
Elasticsearch的学习笔记(一)
53 阅读
工作
学习
生活
登录
/
注册
Search
标签搜索
elasticsearch
PHP
Hello World
PhpSpreadsheet
elasticsearch-php
默然
累计撰写
11
篇文章
累计收到
7
条评论
首页
栏目
工作
学习
生活
页面
留言
统计
朋友
关于
推荐
我的动态
搜索到
1
篇与
的结果
2022-03-30
利用PHP通过周次去获取本周的起始和结束日期
今天写个需求的时候,开始的想法是在sql 语句实现,但一个早上的时间就花费在了这上面,中途我也问了一些大佬,都叫我从代码层面去实现,我只是想着从sql语句实现要便捷一点,就不用在代码实现,所以最终还是从代码层面去实现了。一、数据库端我在数据库弄了写了sql语句,最终输出这样的(因为要做统计):sql语句:select p.userid,a.admin_name as name,date_format(from_unixtime(create_time,'%Y-%m-%d %H:%i:%s'), '%Y年%u周') as month,count(*) as count from mr_vistit as p left join mr_admin as a on a.id=p.userid group by p.userid,date_format(from_unixtime(create_time,'%Y-%m-%d %H:%i:%s'), '%Y年%u周')month这一列我输出年和周次,是为了去PHP里方便。当然也看各自的想法了二、PHP代码/** * @param $year 年份 * @param $weeknum 周次 * 通过周次去获取本周的起始和结束日期 */ function getWeekDate($year, $weeknum) { $firstdayofyear = mktime(0, 0, 0, 1, 1, $year); $firstweekday = date('N', $firstdayofyear); //星期数 $firstweenum = date('W', $firstdayofyear); //周数 if (intval($firstweenum) == 1) { $day = (1 - ($firstweekday - 1)) + 7 * ($weeknum - 1); } else { $day = (9 - $firstweekday) + 7 * ($weeknum - 1); } $startdate = date('Y-m-d', mktime(0, 0, 0, 1, $day, $year)); $enddate = date('Y-m-d', mktime(0, 0, 0, 1, $day + 6, $year)); echo $startdate . "至" . $enddate; }接下来,我测试一下(直接调用):getWeekDate(2022,13);最终输出 2022-03-28至2022-04-03对比了下日历都对了!!
2022年03月30日
39 阅读
0 评论
0 点赞