php获取指定日期的万年历,分享3个php获取日历的函数

提供一个日期,获取这个日期的星期对应日历列表,键为星期标示

$month_date = '2015-09-25';

$start_time = strtotime($month_date);

$start_week = date('w', $start_time);

$total_month_day = date('t', $start_time);

$weeks_in_month = ceil(($start_week+$total_month_day)/7);

$month_day_arr = [];

$start_month_day = 1;

for($i=0;$i

for($j=0;$j<7;$j++){

if($i ==0 && $j >= $start_week) {

$month_day_arr[$i][$j] = $start_month_day;

$start_month_day++;

} elseif($i == 0) {

$month_day_arr[$i][$j] = '';

} else {

$month_day_arr[$i][$j] = $start_month_day;

$start_month_day++;

}

if($start_month_day > $total_month_day){

break;

}

}

}

echo "

";

print_r($month_day_arr);

Array

(

[0] => Array

(

[0] =>

[1] =>

[2] => 1

[3] => 2

[4] => 3

[5] => 4

[6] => 5

)

[1] => Array

(

[0] => 6

[1] => 7

[2] => 8

[3] => 9

[4] => 10

[5] => 11

[6] => 12

)

[2] => Array

(

[0] => 13

[1] => 14

[2] => 15

[3] => 16

[4] => 17

[5] => 18

[6] => 19

)

[3] => Array

(

[0] => 20

[1] => 21

[2] => 22

[3] => 23

[4] => 24

[5] => 25

[6] => 26

)

[4] => Array

(

[0] => 27

[1] => 28

[2] => 29

[3] => 30

)

)

获取指定日期所在月的开始日期与结束日期

/**

* @param string $date

* @param boolean 为true返回开始日期,否则返回结束日期

* @return array

* @access private

*/

private function getMonthRange( $date, $returnFirstDay = true ) {

$timestamp = strtotime( $date );

if ( $returnFirstDay ) {

$monthFirstDay = date( 'Y-m-1 00:00:00', $timestamp );

return $monthFirstDay;

} else {

$mdays = date( 't', $timestamp );

$monthLastDay = date( 'Y-m-' . $mdays . ' 23:59:59', $timestamp );

return $monthLastDay;

}

}

获取当前星期的日期范围,也就是从星期一到星期日的日期范围。

function getWeekRange($date){

$ret=array();

$timestamp=strtotime($date);

$w=strftime('%u',$timestamp);

$ret['sdate']=date('Y-m-d 00:00:00',$timestamp-($w-1)*86400);

$ret['edate']=date('Y-m-d 23:59:59',$timestamp+(7-$w)*86400);

return $ret;

}

//author:zhxia 获取指定日期所在月的开始日期与结束日期

function getMonthRange($date){

$ret=array();

$timestamp=strtotime($date);

$mdays=date('t',$timestamp);

$ret['sdate']=date('Y-m-1 00:00:00',$timestamp);

$ret['edate']=date('Y-m-'.$mdays.' 23:59:59',$timestamp);

return $ret;

}

//author:zhxia 以上两个函数的应用

function getFilter($n){

$ret=array();

switch($n){

case 1:// 昨天

$ret['sdate']=date('Y-m-d 00:00:00',strtotime('-1 day'));

$ret['edate']=date('Y-m-d 23:59:59',strtotime('-1 day'));

break;

case 2://本星期

$ret=getWeekRange(date('Y-m-d'));

break;

case 3://上一个星期

$strDate=date('Y-m-d',strtotime('-1 week'));

$ret=getWeekRange($strDate);

break;

case 4: //上上星期

$strDate=date('Y-m-d',strtotime('-2 week'));

$ret=getWeekRange($strDate);

break;

case 5: //本月

$ret=getMonthRange(date('Y-m-d'));

break;

case 6://上月

$strDate=date('Y-m-d',strtotime('-1 month'));

$ret=getMonthRange($strDate);

break;

}

return $ret;

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/504790.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php获取html中文本框内容_小猿圈Python入门之批量获取html内body内容的方法

对于人工智能你了解有多少&#xff1f;你知道Python的使用吗&#xff1f;这个对于大部分初学者来说都是很难的&#xff0c;小猿圈Python讲师会每天为大家选择分享一个知识点&#xff0c;希望对你学习Python有所帮助&#xff0c;今天分享的就是批量获取html内body内容的方法。现…

php改名下载,PHP如何给上传的文件改名

PHP如何给上传的文件改名发布时间&#xff1a;2020-08-03 16:07:39来源&#xff1a;亿速云阅读&#xff1a;72作者&#xff1a;LeahPHP如何给上传的文件改名&#xff1f;相信很多没有经验的人对此束手无策&#xff0c;为此本文总结了问题出现的原因和解决方法&#xff0c;通过这…

python 循环 覆盖之前print内容_Python爬虫第二战---爬取500px图片

前言&#xff1a;如今的高速网络极大促进了信息的展示方式&#xff0c;高清图片&#xff0c;视频等成就了我们的视听盛宴。但是&#xff0c;我们获取到的图片或者视频可能是被压缩过的&#xff0c;所以总体上还是有点小瑕疵&#xff0c;今天呢&#xff0c;我给大家带来一篇使用…

php字符串分割tp模板,ThinkPHP 模板substr的截取字符串函数详解

ThinkPHP 模板substr的截取字符串函数在Common/function.php加上以下代码/**** 截取中文字符串**/function msubstr($str, $start0, $length, $charset"utf-8", $suffixtrue){if(function_exists("mb_substr")){$slice mb_substr($str, $start, $length, $…

macyy_macyy进频道失败怎么办

大家好&#xff0c;我是时间财富网智能客服时间君&#xff0c;上述问题将由我为大家进行解答。macyy进频道失败的解决方法&#xff1a;1、进入不了频道请先留意自己当地的网络状况是否良好&#xff0c;电脑上尽量不要开启占用网络资源的软件&#xff0c;如&#xff1a;下载工具…

tomcat.exe java home,tomcat.exe启动和startup.bat启动的不同

一、tomcat7.exe与startup.bat的区别&#xff1a;1、这两个都可以启动tomcat&#xff0c;但tomcat7.exe必须安装了服务才能启动&#xff0c;而startup.bat不需要2、另外一个区别是它们启动所使用的JAVA环境配置是分开的tomcat7.exe启动所使用JAVA配置与服务启动所使用的JAVA配置…

acc定义代码 神经网络_神经网络的这几个坑,你都躲过了吗

因为AI这两年的火爆&#xff0c;大家拿着锤子到处找钉子&#xff0c;锤子当然也砸到了我头上&#xff0c;有很多做业务的同事尝试通过AI的方法解决需要一些很复杂的业务逻辑算法&#xff0c;同时需要很多参数组合才能搞定的问题。但因为都是非科班出身也没有系统学习&#xff0…

java事件绑定,Java编程GUI中的事件绑定代码示例

程序绑定的概念&#xff1a;绑定指的是一个方法的调用与方法所在的类(方法主体)关联起来。对java来说&#xff0c;绑定分为静态绑定和动态绑定&#xff1b;或者叫做前期绑定和后期绑定静态绑定&#xff1a;在程序执行前方法已经被绑定&#xff0c;此时由编译器或其它连接程序实…

python抽荣耀水晶_教你2种免费拿荣耀水晶的方法,获奖概率让人惊喜,一般人我不告诉他...

在王者荣耀中荣耀水晶一直是许多玩家想要得到的&#xff0c;那一般来说想要获取一个荣耀水晶需要花费大约2000RMB的样子&#xff0c;但是可喜的是王者荣耀这个游戏就是这么的亲民&#xff0c;会时不时的上线一些免费赠送的活动&#xff0c;那今天就告诉大家最近2种获取荣耀水晶…

matlab中右三角形方向,《有限元基础教程》_【MATLAB算例】4.7.1(2) 基于3节点三角形单元的矩形薄板分析(Triangle2D3Node)...

【MATLAB 算例】4.7.1(2) 基于3节点三角形单元的矩形薄板分析(T riangle2D3Node)如图4-20所示为一矩形薄平板&#xff0c;在右端部受集中力100 000F N 作用&#xff0c;材料常数为&#xff1a;弹性模量7110E Pa ?&#xff0c;泊松比13μ&#xff0c;板的厚度0.1t m 。基于MA T…

uv转化率多少正常_浏览量(PV)和访客数(UV)和跳出率是什么意思?

1.什么是访客数(UV访客数就是指一天之内到底有多少不同的用户访问了网站。访客数要比IP数更能真实准确地反映用户数量。百度统计完全抛弃了IP这个指标&#xff0c;而启用了访客数这一指标&#xff0c;因为IP往往不能反映真实的用户数量。尤其对于一些流量较少的企业站来说&…

vscode中如何创新建php文件,vscode如何创建代码模板

选择菜单里的 文件 > 首选项 > 用户代码片段选择你需要自定义模板的文件&#xff0c;以vue为例配置对应文件json把代码片段写在json里。每个代码段都是在一个代码片段名称下定义的&#xff0c;并且有prefix、body和description。prefix是用来触发代码片段的。使用 $1&…

linux nginx postgresql php,常用Web环境架设手册PNP:Postgresql+Nginx+PHP

一 Postgresql1.1 installready:sudo apt-get updatesudo apt-get install libreadline6-devsudo apt-get install zlib1g zlib1g.devcd source./configuresudo make installsudo adduser postgressudo mkdir /usr/local/pgsql/datasudo chown postgres /usr/local/pgsql/data…

php 利用个人邮箱,利用 Composer 完善自己的 PHP 框架(二)——发送邮件

利用 Composer 完善自己的 PHP 框架(二)——发送邮件2014-10-18 / 阅读数&#xff1a;23506 / 分类&#xff1a; PHP回顾上一篇文章中&#xff0c;我们手工建造了一个简易的视图加载器&#xff0c;顺便引入了错误处理包&#xff0c;让我们的 MFFC 框架在 M、V、C 三个方面都达到…

mysql安装被打断_MySQL安装未响应解决方法

安装MySQL出示未响应&#xff0c;一般显示在安装MySQL程序最后一步的2&#xff0c;3项就不动了。这种情况一般是你以前安装过MySQL数据库服务项被占用了。解决方法&#xff1a;一种方法&#xff1a;你可以安装MySQL的时候在这一步时它默认的服务名是“MySQL” 只需要把这个名字…

启动马达接线实物图_东元伺服驱动马达

东元伺服驱动马达&#xff0c;我公司主营德国SEW&#xff0c;德国法勒VAHLE, 德国UNING&#xff0c;德国同驰Tschan&#xff0c;意大利威卡WESTCAR&#xff0c;德国久茂JUMO&#xff0c;瑞士ABB等几大世界品牌产品。东元伺服驱动马达&#xff0c; 工业机器人电动伺服系统的一般…

php fast cgi nginx,通过fast-cgi连接php-fpm和nginx之间的连接是持...

PHP-FPM是fastCGI协议的一种实现,因此它遵守所有fastCGI规范要求.The Web server controls the lifetime of transport connections. The Web server can close a connection when no requests are active. Or the Web server can delegate close authority to the application…

jsp工程防止外部注入_防止 jsp被sql注入的五种方法

一、SQL注入简介SQL注入是比较常见的网络攻击方式之一&#xff0c;它不是利用操作系统的BUG来实现攻击&#xff0c;而是针对程序员编程时的疏忽&#xff0c;通过SQL语句&#xff0c;实现无帐号登录&#xff0c;甚至篡改数据库。二、SQL注入攻击的总体思路1.寻找到SQL注入的位置…

wordpress是用php几开发的,php-WordPress多个开发人员设置

是否可以让一个以上的人通过测试站点来开发Wordpress应用程序,这是一个很好的选择.我遇到的最大障碍是在本地开发和集成到测试环境时的路径问题.是否有人拥有维护开发人员环境,保持工作内容和链接的良好流程,并且代码在源代码管理中维护&#xff1f;为了澄清起见,我想在本地开发…

python分布式对象存储_推荐:一款分布式的对象存储服务

最近公司在准备内部数据上云&#xff0c;并且内部数据库每天的数据量很大&#xff0c;需要采用大数据存储的方案。方案调研每个程序技术在实现之前&#xff0c;需要进行开源产品的调研&#xff0c;适合自己产品的技术方案才是最好的。需求我们需要处理是图像信息&#xff0c;大…