为什么80%的码农都做不了架构师?>>>   

有时候,会有这么一些需求:在每周的周一会更新一些内容,那么我要获取本周周一的数据,或者上周周一的数据,那么就需要知道本周或上周周一的日期了。对于程序来说,需求就变成了:这周的周一是几号?或者说,上周一是几号?

先来求一下本周周一的日期:

$ts = time();$this_monday = this_monday($ts);
echo date('Y-m-d H:i:s', $this_monday);//这个星期的星期一
// @$timestamp ,某个星期的某一个时间戳,默认为当前时间
// @is_return_timestamp ,是否返回时间戳,否则返回时间格式
function this_monday($timestamp=0,$is_return_timestamp=true){  static $cache ;  $id = $timestamp.$is_return_timestamp;  if(!isset($cache[$id])){  if(!$timestamp) $timestamp = time();  $monday_date = date('Y-m-d', $timestamp-86400*date('w',$timestamp)+(date('w',$timestamp)>0?86400:-/*6*86400*/518400));  if($is_return_timestamp){  $cache[$id] = strtotime($monday_date);  }else{  $cache[$id] = $monday_date;  }  }  return $cache[$id];  }

求上周一的函数则为:

$ts = time();$last_monday = last_monday($ts);
echo date('Y-m-d H:i:s', $last_monday);//上周一
// @$timestamp ,某个星期的某一个时间戳,默认为当前时间
// @is_return_timestamp ,是否返回时间戳,否则返回时间格式
function last_monday($timestamp=0,$is_return_timestamp=true){  static $cache ;  $id = $timestamp.$is_return_timestamp;  if(!isset($cache[$id])){  if(!$timestamp) $timestamp = time();  $thismonday = this_monday($timestamp) - /*7*86400*/604800;  if($is_return_timestamp){  $cache[$id] = $thismonday;  }else{  $cache[$id] = date('Y-m-d',$thismonday);  }  }  return $cache[$id];
}

转载于:https://my.oschina.net/sunYwp/blog/791903

PHP CodeBase: 求最近一个周一和上周一的日期相关推荐

  1. php获取当前周得周一_PHP怎样获得最近一个周一和上周一的日期?

    展开全部 本周周一的日期:$ts = time(); $this_monday = this_monday($ts); echo date('Y-m-d H:i:s', $this_monday); ...

  2. 编程笔试(解析及代码实现):求出一个整数中各位数上所包含全部质数之和

    编程笔试(解析及代码实现):求出一个整数中各位数上所包含全部质数之和 目录 题目描述 代码实现 题目描述 求出一个整数中各位数上所包含全部质数之和 一家电子商务公司计划在圣诞节给客户提供特别折扣,他们 ...

  3. Java黑皮书课后题第7章:7.10(找出最小元素的下标)使用下面的方法头编写一个方法,求出一个整数数组中的最小元素下标。编写测试程序,提示用户输入10个数字,调用这个方法返回最小值的下标(多个则最小

    7.10(找出最小元素的下标)使用下面的方法头编写一个方法,求出一个整数数组中的最小元素下标.编写测试程序,提示用户输入10个数字,调用这个方法返回最小值的下标(多个则返回最小的下标) 题目 题目描述 ...

  4. Java黑皮书课后题第7章:7.9(找出最小元素)使用下面的方法头编写一个方法,求出一个整数数组中的最小元素。编写测试程序,提示用户输入10个数字,调用这个方法返回最小值,并显示这个最小值

    7.9(找出最小元素)使用下面的方法头编写一个方法,求出一个整数数组中的最小元素.编写测试程序,提示用户输入10个数字,调用这个方法返回最小值,并显示这个最小值 题目 题目描述与运行示例 破题 代码 ...

  5. C语言试题三十七之求除一个2×m整型二维数组中最大元素的值,并将此值返回调用函数。

    1. 题目 请编写一个函数function,它的功能是:求除一个2×m整型二维数组中最大元素的值,并将此值返回调用函数. 2 .温馨提示 C语言试题汇总里可用于计算机二级C语言笔试.机试.研究生复试中 ...

  6. linux之vim操作快速跳到下一个空格和上一个空格命令

    1.问题 vim里面如何再文本里面快速跳到下一个空格和上一个空格 2.操作 w是在文本里面快速跳到下一个空格 b是在文本里面快速跳到上一个空格

  7. Python3求最后一个单词长度

    Python3求最后一个单词长度 原题:https://leetcode-cn.com/problems/length-of-last-word/ 给定一个仅包含大小写字母和空格 ' ' 的字符串 s ...

  8. C#获取周一、周日的日期 函数类

    #region 得到一周的周一和周日的日期         /// <summary>          /// 计算本周的周一日期          /// </summary&g ...

  9. 【面试题】有一个数组,每隔两个数删掉一个数,到末尾又循环到开头继续进行,求最后一个被删除的数的原始下标位置

    面试碰到的一道编程题,当时没有细想去做 有一个数组a[1000],要求每隔两个数删掉一个数,到末尾则又循环到开头继续进行,求最后一个被删掉的数的原始下标位置 例如,一个数组:{0, 1, 2, 3, ...

最新文章

  1. SpringBoot配置属性之Server
  2. Replication的犄角旮旯(五)--关于复制identity列
  3. subplot 真正含义
  4. 解放学校网络管理员的双手 ——陕西省基础教育专网×××接入程序的优化
  5. 超详细在Ubuntu下安装JDK图文解析
  6. wireshark基本使用及介绍
  7. pythonifelse表达式_Python if else简洁写法,列表推导式,三目运算符写法
  8. 身份证号有效性检验代码 (python)
  9. FastAPI集成SQLAlchemy实现数据库操作
  10. INVENTOR结构件生成器,新建型材
  11. [C++] [FLTK] 很久以前写的FLTK计算器
  12. 【CPU】理解CPU
  13. android 外文翻译,Android外文文献翻译.doc
  14. 【coq】函数语言设计 练习题tatcislogics 总结
  15. 线程同步作业(一):Lock,monitor
  16. python数据收集整理教案_数据收集整理教学设计
  17. Win10中实时网速显示
  18. linux fdisk 挂盘
  19. js实现数字时钟,按钮实现暂停开始
  20. 矩阵分析_1 线性方程组解与列向量组的关系

热门文章

  1. 探索MicroPython(三)--基础操作示例
  2. Ubuntu truffle框架安装
  3. python txt文件排序,使用Python在.txt文件中按數值(降序)排序高分列表
  4. ab压力测试php脚本,ab压力测试工具-批量压测脚本
  5. ipython和pylab模式_为什么要使用IPython?
  6. rem是怎么计算的(转载)
  7. fixed与sticky的区别
  8. [LeetCode] 513. Find Bottom Left Tree Value_ Medium tag: BFS
  9. ThreadLocal 在web环境下使用的边界问题
  10. 正则表达式替换和不包含指定字符串