php 返回某个月的 每周几有几天
不得不承认,这真是一个奇葩的需求,无奈写个类凑活用用. 输入日期格式或者 时间戳,返回当月有多少个周一.周二.周三.....周日;
思路就是 找到这个月有多少天,在便利判断. 稍微考虑下闰年的情况
前面的获取一个月有多少天,没事看了下date函数说明,蛋疼的直接有这个参数,今天在这嘲笑一下之前的草包行为.date('t');
<?php
class GAO{
public function __CONSTRUCT($time='') {
if(empty($time)) $time=time();
$time = is_int($time) ? $time : strtotime($time);
$this->year = date('Y',$time );
if(date('L',$time)) {
$this->mouths = array(
31=> array(1,3,5,7,8,10,12),
30=> array(4,6,9,11),
29=> array(2),
);
}else{
$this->mouths = array(
31=> array(1,3,5,7,8,10,12),
30=> array(4,6,9,11),
28=> array(2),
);
}
$this->mouth = date('m',$time );
}
public function week_num() {
foreach ($this->mouths as $key => $value) {
if(in_array($this->mouth, $value)) {
$n = $key;
break;
}
}
if(!isset($n) || empty($n)) {
return '天数获取失败!';
}
$result = array(1=>0,0,0,0,0,0,0);
for ($n; $n >0 ; $n--) {
switch (date('N',strtotime($this->year.'-'.$this->mouth.'-'.$n) ) ) {
case '1':
$result[1] += 1;
break;
case '2':
$result[2] += 1;
break;
case '3':
$result[3] += 1;
break;
case '4':
$result[4] += 1;
break;
case '5':
$result[5] += 1;
break;
case '6':
$result[6] += 1;
break;
case '7':
$result[7] += 1;
break;
}
}
return $result;
}
}
php 返回某个月的 每周几有几天的更多相关文章
- SQLServer用sql语句怎么返回一个月所有的天数
可用如下sql语句: select convert(varchar(10),dateadd(DAY,t2.number,t1.day),120) day from (select '2015-07'+ ...
- java根据年月显示每周
一.页面效果 1.展示7月份的所有周. 2.当前时间2018.08.02 , 显示到本周. 二.前端代码 1.显示层的代码 <span id="weekyear"> ...
- laravel -查询近7月走势图案例
// 获取7月前的时间$time = date('Y-m',strtotime("-0 year -7 month -0 day" ));$where['created_at'] ...
- 微信小程序——获取当天的前一个月至后一个月
看标题也不知道你有没有明白我想表达的意思,先上个动态图吧~ 需要分析: 1.获取当前日期的前一个月,后一个月和当月.比如说现在是7月5号,我需要得到6月5号至8月5号的日期,同时还要返回当前的星期. ...
- Coding源码学习第二部分(FunctionIntroManager.m)
接上篇.上篇有一个细节忘了写,在Coding_iOS-Info.plist 里面添加了一个key 是 Status bar is initially hidden Value 是 YES,在appl ...
- SqlServer与MySql的一些常用用法的差别
最近学习了一下mySql,总结一下SqlServer不同一些用法: 操作符优先级以下列表显示了操作符优先级的由低到高的顺序.排列在同一行的操作符具有相同的优先级.:=||, OR, XOR&& ...
- mysql5.5手册读书日记(2)
<?php /* * * MySQL_5.5中文参考手册 485开始 * * mysql> SELECT CASE 1 WHEN 1 THEN 'one' -> WHEN 2 THE ...
- JavaScript日期对象使用总结
javascript Date日期对象的创建 创建一个日期对象: var objDate=new Date([arguments list]); 我总结了参数形式主要有以下3种: new Date(& ...
- 20135220谈愈敏Linux_总结
Linux_总结 具体博客链接 计算机是如何工作的 操作系统是如何工作的 构造一个简单的Linux系统MenuOS 系统调用(上) 系统调用(下) 进程的描述和创建 可执行程序的装载 进程的切换和系统 ...
随机推荐
- 兼容chrome和ie的音乐播放
兼容chrome和ie的音乐播放(Ie7 Ie8 Ie9 均測试过 ) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitiona ...
- 获得拼凑SQL语句运行后的结果
拼凑式的SQL语句太普遍了,比如说,任意条件的查询. 这种拼凑SQL语句,如果在数据库端组装,必然是一条长长的字符串,然后 exec(@sql). 如果这条语句写在存储过程里边,存储过程的调用方会获得 ...
- Spring配置之OpenSessionInViewFilter
转自:https://www.cnblogs.com/blogonfly/articles/3991782.html 参考: OpenSessionInViewFilter作用及配置:http://w ...
- HP Z240组建磁盘阵列RAID1
- spring-boot结合mybatis-spring的一个例子
首先spring-boot是用于简化配置的,具有可拔式组件的运用特点. 然后一下是spring-boot结合mybatis-spring的一个例子. 是一个maven项目 demo下载:http:// ...
- VCRuntime静默安装
批处理脚本: "%~dp0\VC_X64Runtime\VC_x64Runtime.exe" /q"%~dp0\VC_X86Runtime\VC_X86Runtime.e ...
- mac安装python3 pandas tushare
1,升级pip python3 -m pip install --upgrade pip 2,安装依赖包 pip install --user numpy scipy jupyter pandas s ...
- PHP开发笔记(二)PHP的json_encode和json_decode问题
解决PHP的json_encode问题之前,先了解一下PHP预定义常量http://php.net/manual/zh/json.constants.php. 用PHP的json_encode来处理中 ...
- Struts2框架学习(二)——访问流程及架构
1.Struts2的执行流程 从客户端发送请求过来,先经过前端控制器(核心过滤器StrutsPrepareAndExecuteFilter)过滤器中执行一组拦截器(一组拦截器就会完成部分功能代码),拦 ...
- 读书笔记6-浪潮之巅(part1)
浪潮之巅 ——对于一个人来讲,一生能够赶上一次科技革命的浪潮也就足够了 近一百多年来,总有一些公司很幸运地站在了技术革命的浪尖上.而一旦处在那个位置,就算只用随着潮流的发展而前行,也能安安稳稳地发展十 ...