最近接到一个任务,归纳起来,就是:要算出每年当中,每周的周一日期。想了一会,看了下date函数,深入了解了一下date函数各个参数的含义之后,终于把这道题做出来了!
在date()函数中,有一个参数对解决这个题目很关键,就是format字符D。它表示的是星期中的第几天,用文本表示,3个字母:从Mon到Sun。我们可以通过当前时间来算出它处于星期中的第几天,然后与星期一对比,减去对应的天数即可。
以下部分是代码:
ublic function caluateTime(){
$now = date("Ymd");//当前时间
$day = date("D");
switch($day){
case "Mon":
return $now;
break;
case "Tue":
return date("Ymd",strtotime("-1days",strtotime($now)));
break;
case "Wed":
return date("Ymd",strtotime("-2days",strtotime($now)));
break;
case "Thu":
return date("Ymd",strtotime("-3days",strtotime($now)));
break;
case "Fri":
return date("Ymd",strtotime("-4days",strtotime($now)));
break;
case "Sat":
return date("Ymd",strtotime("-5days",strtotime($now)));
break;
case "Sun":
return date("Ymd",strtotime("-6days",strtotime($now)));
break;
}
}

延伸一下,可以计算出一年中每周任意一天的日期!

php 计算出一年中每周的周一日期的更多相关文章

  1. 根据地图上的两个点各自的x,y坐标,计算出2点之间的直线距离。显示为公里、米

    /** * calc_map_distance() , 根据地图上的两个点各自的x,y坐标,计算出2点之间的直线距离 * @param array $point_1 第1个点的x,y坐标 array( ...

  2. Excel中利用IF和TIME函数计算出上下班状态!

    大家都知道现在上下班实行打卡制,制作考勤的人员需要对你上下班的时间,计算出上下班的状态,比如:迟到.早退.加班.正常等.下面为您介绍一个“帮手”.     1.打开Excel文档.如下图       ...

  3. PHP 计算出内存最高占用.

    PHP 计算出内存最高占用.   代码可以计算出内存是否完全被使用, ini设置处:memory_limit = 1024M  代码跑完将显示如下信息: memory_limit:320M  all ...

  4. 【c实现,vc6调试通过】给出一字符串指针,计算出字符串指针中单词数

    #include <stdio.h> /* 给出一字符串指针,计算出字符串指针中单词数, 单词不包括'.',',',';','?','_','"',由0-9数字或26个字母组成 ...

  5. PHP版根据经纬度和半径计算出经纬度的范围

    百度地图提供了范围搜索的功能,但是它使用的是百度自己的数据,但是有时候我们需要使用自己的数据,显示在地图上.比如给定两个参数:指定位置(某一处的经纬度lnglat)和搜索半径(r),搜索指定范围内的数 ...

  6. 通信原理课程设计Javaswing技术计算出PCM编码——猎八哥FLY

    package keshe; import java.awt.BorderLayout; import java.awt.EventQueue; import javax.swing.JFrame; ...

  7. ECC椭圆曲线以及计算出公钥的过程(BTC为例)

    ECC概念 全称 “ Ellipse Curve Cryptography ”  means “ 椭圆 曲线 密码学 ”. 传统加密方法大多基于大质数因子分解困难性来实现,ECC则是通过椭圆曲线方程式 ...

  8. 输入一个正整数n,计算出[0,n]这些整数中的二进制数没有连续3个1的数字有多少

    输入一个正整数n,计算出[0,n]这些整数中的二进制数没有连续3个1的数字有多少? 例子:输入数字9,则输出结果位9.因为[0-9]中,只有数字7有连续的三个‘1’出现,别的都没有,所以一共有9个数字 ...

  9. /* * 有五个学生,每个学生有3门课的成绩,从键盘输入以上数据 *(包括学生号,姓名,三门课成绩),计算出平均成绩, *将原有的数据和计算出的平均分数存放在磁盘文件"stud"中。 */

    1.Student类:类中有五个变量,分别是学号,姓名,三门成绩 package test3; public class Student { private int num; private Stri ...

随机推荐

  1. 【mac】ansible安装及基础使用

    安装 环境释放 mac 10.12.5 #more /System/Library/CoreServices/SystemVersion.plist 安装命令 #ruby -e "$(cur ...

  2. 解读经典-《C#高级编程》第七版-Chapter1-.Net体系结构-Page1-6

    前言 大家好.这是开通本号的第一篇文章.从事IT行业已经20年了,从使用PowerBuilder做企业信息系统开始,做了七八年开发,然后转型Java不是很成功,从07年之后,我转做产品经理,机缘巧合, ...

  3. linux学习基础1

    简介 包含计算机组成,发行.核心思想.主要目录,一些命令ifconfig.echo.tty.startx.export.pwd.history.shutdown.poweroff.reboot.hwc ...

  4. js引用值传递改变问题(使用深拷贝)

    //当我们定义一个全局变量,然后页面加载时进行一次赋值. //后面对加载的对象进行push后全局变量改变了,这是由于引用类型的问题,此时使用深拷贝进行保存原来的数据 //深拷贝 function de ...

  5. 金三银四招聘季,这些BAT以及独角兽互联网公司官方招聘网站值得关注。(个人梳理备用:附BAT以及独角兽公司官方招聘网址)

    金三银四是一年当中的招聘最旺盛的时期,即招聘高峰期,在这个期间内有非常多名企巨头公司的放出大量的岗位信息.以博主几年的工作经验来看,在这期间找到称心如意的工作的几率大大提升,对于很多程序员来说,薪水高 ...

  6. 定时任务Task

    使用注解@EnableScheduling开启定时任务,会自动扫描 定义@Component作为组件被容器扫描 对于EnableScheduling是注解在启动类上,很多开关配置都会再启动类中进行设置 ...

  7. netty入门demo(一)

    目录 前言 正文 代码部分 服务端 客服端 测试结果一: 解决粘包,拆包的问题 总结 前言 最近做一个项目: 大概需求: 多个温度传感器不断向java服务发送温度数据,该传感器采用socket发送数据 ...

  8. linux开启新端口

    1.使用vi或者vim打开iptables配置文件: vi /etc/sysconfig/iptables 2.在编辑页面新增加信任端口: -A INPUT -m state --state NEW ...

  9. jQuery 事件 - ready() 方法

    转载:http://www.w3school.com.cn/jquery/jquery_hide_show.asp 实例 在文档加载后激活函数: $(document).ready(function( ...

  10. HTML 介绍及标签

    HTML htyper text markup language 即超文本标记语言 超文本: 就是指页面内可以包含图片.链接,甚至音乐.程序等非文字元素. 标记语言: 标记(标签)构成的语言. 标签 ...