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

本文实例讲述了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);
}

PS:这里再为大家推荐几款时间及日期相关工具供大家参考:

在线日期/天数计算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi

在线日期计算器/相差天数计算器:
http://tools.jb51.net/jisuanqi/datecalc

在线日期天数差计算器:
http://tools.jb51.net/jisuanqi/onlinedatejsq

Unix时间戳(timestamp)转换工具:
http://tools.jb51.net/code/unixtime

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php日期与时间用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容