PHP获取日期对应星期、一周日期、星期开始与结束日期的方法


Posted in PHP onJune 22, 2018

本文实例讲述了PHP获取日期对应星期、一周日期、星期开始与结束日期的方法。分享给大家供大家参考,具体如下:

/*
 * 获取日期对应的星期
 * 参数$date为输入的日期数据,格式如:2018-6-22
 */
function get_week($date)
{
  //强制转换日期格式
  $date_str = date('Y-m-d', strtotime($date));
  //封装成数组
  $arr = explode("-", $date_str);
  //参数赋值
  //年
  $year = $arr[0];
  //月,输出2位整型,不够2位右对齐
  $month = sprintf('%02d', $arr[1]);
  //日,输出2位整型,不够2位右对齐
  $day = sprintf('%02d', $arr[2]);
  //时分秒默认赋值为0;
  $hour = $minute = $second = 0;
  //转换成时间戳
  $strap = mktime($hour, $minute, $second, $month, $day, $year);
  //获取数字型星期几
  $number_wk = date("w", $strap);
  //自定义星期数组
  $weekArr = array("0", "1", "2", "3", "4", "5", "6");
  //获取数字对应的星期
  return $weekArr[$number_wk];
}
/**
 * 获取一周日期
 * @param $time 时间戳
 * @param $format 转换格式
 */
function get_week($time, $format = "Y-m-d") {
  $week = date('w',$time);
  $weekname=array('星期一','星期二','星期三','星期四','星期五','星期六','星期日');
  //星期日排到末位
  if(empty($week)){
    $week=7;
  }
  for ($i=0;$i<=6;$i++){
  $data[$i]['date'] = date($format,strtotime( '+'. $i+1-$week .' days',$time));
  $data[$i]['week'] = $weekname[$i];
  }
  return $data;
}
/*
 * 获取某星期的开始时间和结束时间
 * time 时间
 * first 表示每周星期一为开始日期 0表示每周日为开始日期
 */
function getWeekMyActionAndEnd($time = '', $first = 1)
{
  //当前日期
  if (!$time) $time = time();
  $sdefaultDate = date("Y-m-d", $time);
  //$first =1 表示每周星期一为开始日期 0表示每周日为开始日期
  //获取当前周的第几天 周日是 0 周一到周六是 1 - 6
  $w = date('w', strtotime($sdefaultDate));
  //获取本周开始日期,如果$w是0,则表示周日,减去 6 天
  $week_start = date('Y-m-d', strtotime("$sdefaultDate -" . ($w ? $w - $first : 6) . ' days'));
  //本周结束日期
  $week_end = date('Y-m-d', strtotime("$week_start +6 days"));
  return array("week_start" => $week_start, "week_end" => $week_end);
}
PHP 相关文章推荐
一个连接两个不同MYSQL数据库的PHP程序
Oct 09 PHP
php自动适应范围的分页代码
Aug 05 PHP
php随机生成数字字母组合的方法
Mar 18 PHP
php获取百度收录、百度热词及百度快照的方法
Apr 02 PHP
php动态绑定变量的用法
Jun 16 PHP
PHP创建PowerPoint2007文档的方法
Dec 10 PHP
php变量与数组相互转换的方法(extract与compact)
Dec 02 PHP
PHP实现文件下载【实例分享】
Apr 28 PHP
实例讲解YII2中多表关联的使用方法
Jul 21 PHP
thinkPHP利用ajax异步上传图片并显示、删除的示例
Sep 26 PHP
laravel框架中控制器的创建和使用方法分析
Nov 23 PHP
php 多继承的几种常见实现方法示例
Nov 18 PHP
PHP实现将base64编码字符串转换成图片示例
Jun 22 #PHP
PHP实现正则匹配所有括号中的内容
Jun 22 #PHP
PHP实现 APP端微信支付功能
Jun 22 #PHP
thinkPHP实现基于ajax的评论回复功能
Jun 22 #PHP
php strftime函数的详细用法
Jun 21 #PHP
PHP获取本周所有日期或者最近七天所有日期的方法
Jun 20 #PHP
ThinkPHP5.0 图片上传生成缩略图实例代码说明
Jun 20 #PHP
You might like
Yii2 输出xml格式数据的方法
2016/05/03 PHP
php使用lua+redis实现限流,计数器模式,令牌桶模式
2019/04/04 PHP
javascript学习笔记(九) js对象 设计模式
2012/06/19 Javascript
javascript页面动态显示时间变化示例代码
2013/12/18 Javascript
JS创建类和对象的两种不同方式
2014/08/08 Javascript
JavaScript将取代AppleScript?
2014/09/18 Javascript
node.js中的buffer.copy方法使用说明
2014/12/14 Javascript
jQuery及JS实现循环中暂停的方法
2015/02/02 Javascript
javascript实现简单的省市区三级联动
2015/05/14 Javascript
javascript获取本机操作系统类型的方法
2015/08/13 Javascript
jQuery Ajax 全局调用封装实例代码详解
2016/06/02 Javascript
Asp.Net之JS生成分页条的方法
2016/11/23 Javascript
CentOS7中源码编译安装NodeJS的完整步骤
2018/10/13 NodeJs
React性能优化系列之减少props改变的实现方法
2019/01/17 Javascript
基于JavaScript实现轮播图效果
2021/01/02 Javascript
[01:36]DOTA2完美大师赛趣味视频之与队友相处的十万个技巧
2017/11/19 DOTA
Python中的hypot()方法使用简介
2015/05/18 Python
使用Python实现windows下的抓包与解析
2018/01/15 Python
详解TensorFlow查看ckpt中变量的几种方法
2018/06/19 Python
TensorFlow Session会话控制&amp;Variable变量详解
2018/07/30 Python
python 求1-100之间的奇数或者偶数之和的实例
2019/06/11 Python
HTML5教程之html 5 本地数据库(Web Sql Database)
2014/04/03 HTML / CSS
Html5元素及基本语法详解
2016/08/02 HTML / CSS
Boden美国官网:英伦原创时装品牌
2017/07/03 全球购物
PUMA澳大利亚官方网站:德国运动品牌
2018/10/19 全球购物
在线吉他课程,学习如何弹吉他:Fender Play
2019/02/28 全球购物
第二层交换机和路由器的区别?第三层交换机和路由器的区别?
2013/05/23 面试题
材料物理专业个人求职信
2013/12/15 职场文书
捐献物资倡议书范文
2014/05/19 职场文书
2014年审计工作总结
2014/11/17 职场文书
2014年销售部工作总结
2014/12/01 职场文书
关于开学的感想
2015/08/10 职场文书
2016年优秀党员教师先进事迹材料
2016/02/29 职场文书
2019下半年英语教师的教学工作计划(3篇)
2019/09/25 职场文书
JavaScript offset实现鼠标坐标获取和窗口内模块拖动
2021/05/30 Javascript
CSS实现五种常用的2D转换
2021/12/06 HTML / CSS