php判断今日是本月的第几个星期几

php中有一个非常强悍的系统函数date()函数。巧妙的利用他可以实现显示任意我们需要的时间。比如今天遇到个需要是要判断今天是本月的第几个星期几,这里就不讨论这种说话有没有问题以及是否有意义,

下面具体看如何使用php去实现这个功能吧。

这个功能主要还是用到了date()函数的 w j 两个参数,date()函数参数很多,想要了解这个函数的情参照本站文章:

PHP date()参数说明

关于 w j 两个参数的解释如下:

w 表示星期中的第几天,数字表示 0(表示星期天)到 6(表示星期六)

j 月份中的第几天,数字表示从 1 到 31

利用php判断今日是本月的第几个星期几的具体算法是:

利用日期(即几号)和一周的总天数(7天)的关系,借用ceil()函数直接得出今天是本月的第几个星期几。ceil()函数用于计算大于指定数(浮点数,float number)的最小整数。比如:

假设某月3日是星期四,那么,ceil(3/7) 的值将为1,这表明这一天是该月的第一个星期四。下一个星期四的计算式子是 ceil(10/7),其值为2,表明10日是第二个星期四。

其他的依次类推。根据这个算法那么可以确定为计算今日是当月中的第几个星期几的计算公式设定为:ceil(日期/7)。下面看一个具体的例子:

<?php
/*
功能: 计算今日是当月的第几个星期几
*/
header('content-Type: text/html; charset=utf-8');
$wk_day=date('w'); //得到今天是星期几
$date_now=date('j'); //得到今天是几号
$wkday_ar=array('日','一','二','三','四','五','六'); //规范化周日的表达
$cal_result=ceil($date_now/7); //计算是第几个星期几
$str=date("Y年n月j日")." 星期".$wkday_ar[$wk_day]." - 本月的第 ".$cal_result." 个星期".$wkday_ar[$wk_day];
echo $str;
?>
2013年5月21日 星期二 - 本月的第 3 个星期二

php判断今日是本月的第几个星期几的更多相关文章

  1. PHP 获取本周、今日、本月的起始时间戳

    当前周的开始时间(周一)$begintime = mktime(0, 0, 0, date('m'), (date('d') - (date('w')>0 ? date('w') : 7) + ...

  2. iveiw DatePicker 只能选择本月之前的日期,本月包括之后都不能选择

    日期判断只能选择本月之前的日期 <DatePicker type="date" :options="options3" format="yyyy ...

  3. 20150117_js_设置时间的显示格式

    /* *设置显示时间格式 *@param: 原始时间 yyyy-MM-dd HH:mm:ss */ function SetDisTime(oldTime) { var nowDate = new D ...

  4. iOS - OC NSDate 时间

    前言 NSDate @interface NSDate : NSObject <NSCopying, NSSecureCoding> NSDate 用来表示公历的 GMT 时间(格林威治时 ...

  5. iOS - Swift NSDate 时间

    前言 NSDate public class NSDate : NSObject, NSCopying, NSSecureCoding NSDate 用来表示公历的 GMT 时间(格林威治时间).是独 ...

  6. 【酷Q插件制作】教大家做一个简单的签到插件

    酷Q插件已经有很多了,社区分享一大堆,不过还是自己写才有乐趣,哈哈.不得不吐槽一下,酷Q竟然不更新了,出了个酷Q pro,还收费!!诶.不过这也影响不了咱写插件的心情,今天教大家写一个酷Q签到插件,虽 ...

  7. 鸟哥之安裝 CentOS7.x

    http://linux.vbird.org/linux_basic/0157installcentos7.php since 2002/01/01 新手建議 開始閱讀之前 網站導覽 Linux 基礎 ...

  8. Xtrabackup实现Mysql的InnoDB引擎热备份

    前面Zabbix使用的数据库是mysql,数据库备份不用多说,必须滴,由于使用的是innodb引擎,既然做,那就使用第三方强大的Xtrabackup工具来热备吧,Xtrabackup的说明,参见htt ...

  9. Innobackupex(xtrabackup)物理备份

    1. Percona XtraBackup介绍 Percona XtraBackup(简称PXB)是 Percona 公司开发的一个完全开源的用于 MySQL 数据库物理热备的备份工具,在备份过程中不 ...

随机推荐

  1. 封装实现JavaScript 文件的动态载入功能

    function loadScript(url, callback){ var script = document.createElement ("script") script. ...

  2. 解决Xcode 6 编译Cocos2d-x iOS项目失败

    在Xcode 6 beta里编译Cocos2d-x iOS项目时可能会失败,提示如下错误: Undefined symbols for architecture i386: "_fwrite ...

  3. asp 按钮 调用ajax时 会出现返回错误,尽量使用html按钮进行调用

    asp 按钮 调用ajax时 会出现返回错误,尽量使用html按钮进行调用

  4. vue - webpack.dev.conf.js for HtmlWebpackPlugin

    描述: 这是一个webpack插件,可以简化HTML文件的创建,为您的webpack捆绑服务提供服务. 这对于webpack包含文件名中包含哈希值的bundle 来说尤其有用,它会更改每个编译. 您可 ...

  5. 【Firefly API文档】—— Package Distributed

    http://bbs.gameres.com/forum.php?mod=viewthread&tid=219654 package distributed 这个包中主要封装了各个服务进程间进 ...

  6. 算法笔记_092:蓝桥杯练习 c++_ch04_02_修正版(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 [题目描述] 实现一个时间类Time.将小时,分钟和秒存储为int型成员变量.要求该类中包含一个构造函数,访问用的函数,一个推进当前时间的函数adv ...

  7. 微信小程序小红点未读消息如何实现?

      如图类似的 这样的需求还挺多的,那么如何实现呢? data: { userInfo: {}, projectSource: 'https://github.com/liuxuanqiang/wec ...

  8. 数据库连接dbcp$c3p0

    <?xml version="1.0" encoding="UTF-8"?> <c3p0-config> <!-- 这是默认配置信 ...

  9. 理解和使用 Promise.all 和 Promise.race

    一.Pomise.all的使用 Promise.all可以将多个Promise实例包装成一个新的Promise实例.同时,成功和失败的返回值是不同的,成功的时候返回的是一个结果数组,而失败的时候则返回 ...

  10. JS 错误处理与调试

    在程序开发中难免会遇到一些错误,在成千上万的代码中去寻找错误非常明显相当于大海捞针.为此,每种计算机编程语言都要它独特的一套错误处理与调试机制.当然,JavaScript也不例外. 错误发生: 运行代 ...