php 判断本月完整周,如何判断该完整周的第几天

php 判断本月完整周,如何判断该完整周的第几天,第1张

print_r(getdate(time()));

推荐函数 getdate();

"seconds"

秒的数字表示

0 到 59

"minutes"

分钟的数字表示

0 到 59

"hours"

小时的数字表示

0 到 23

"mday"

月份中第几天的数字表示

1 到 31

"wday"

星期中第几天的数字表示

0(表示星期天)到 6(表示星期六)

"mon"

月份的数字表示

1 到 12

"year"

4 位数字表示的完整年份

例如:1999 或 2003

"yday"

一年中第几天的数字表示

0 到 365

"weekday"

星期几的完整文本表示

Sunday 到 Saturday

"month"

月份的完整文本表示

January> 到 December

<php

//这个月的 周日-周六的日期

$year = date("Y");

$month = date("m");

$days = date("t");

for ($i=0; $i < $days; $i++) { 

$day = $year'-'$month'-'$i;

$w = date('w',strtotime($day));

  if ($w == 6 || $w ==0) {

  echo $day' 是周末<br />';

  }

><php

//这个周的 周日-周六的日期

$year = date("Y");

$month = date("m");

$days = date("t");

$hao = date('j');

for ($i=$hao; $i < ($hao+7); $i++) { 

$day = $year'-'$month'-'$i;

$w = date('w',strtotime($day));

  if ($w == 6 || $w ==0) {

  echo $day' 是周末<br />';

  }

}

>

望采纳 Thx

求本周的开始和结束时间

$w = date('w',time()) - 1;

$start_time = time() - $w 60 60 24;         //星期一的时间戳

$end_time = time() + (6 - $w) 60 60 24; //星期天的时间戳

M('tablename')->where("create_time >=  {$start_time} and create_time <= $end_time")->select();

月份的也很简单了,求出本月开始和结束的时间,然后在根据时间查询就可以了

$xingqi = Date("w", strtotime(Date("Y-n-1"))) ;

switch($xingqi)

{

case 0: $xingqi = "星期日";

break;

case 1: $xingqi = "星期一";

break;

case 2: $xingqi = "星期二";

break;

case 3: $xingqi = "星期三";

break;

case 4: $xingqi = "星期四";

break;

case 5: $xingqi = "星期五";

break;

case 6: $xingqi = "星期六";

break;

default: echo "获取不到星期,有错误!";

}

echo "本月的第一天是: "$xingqi;

function weekStartEnd($y, $m, $d) {

$d = date("$y-$m-$d 00:00:00");

$s = strtotime($d);

$w = date('w', strtotime($d)); // 得到指定日期是星期几

$add1 = 0 - $w; // 周日,和指定日期相差的天数

$add2 = 6 - $w; // 周六,和指定日期相差的天数

$s1 = strtotime("$add1 days", $s);

$s2 = strtotime("$add2 days", $s);

return array(

'start' => date("Y年m月d日", $s1),

'end' => date("Y年m月d日", $s2)

);

}

$test = weekStartEnd(2010, 1, 14);

echo "周开始日: "$test['start']"\n";

echo "周结束日: "$test['end']"\n";

结果

周开始日: 2010年01月10日

周结束日: 2010年01月16日

/今天/

select  from 表名 where to_days(时间字段) = to_days(now());

/昨天/

select  from 表名 where to_days(now())-to_days(时间字段) = 1;

/近7天/

select  from 表名 where date_sub(curdate(), interval 7 day) <= date(时间字段);

/查询距离当前现在6个月的数据/

select  from 表名 where 时间字段 between date_sub(now(),interval 6 month) and now();

/查询当前这周的数据/

select  from 表名 where yearweek(date_format(时间字段,'%Y-%m-%d')) = yearweek(now());

/查询上周的数据/

select  from 表名 where yearweek(date_format(时间字段,'%Y-%m-%d')) = yearweek(now())-1;

/查询当前月份的数据/

select  from 表名 where date_format(时间字段,'%Y-%m')=date_format(now(),'%Y-%m');

/查询上个月的数据/

select  from 表名 where date_format(时间字段,'%Y-%m')=date_format(date_sub(curdate(), interval 1 month),'%Y-%m');

其它获取类似以上的代码显示

这就要用到PHP自带的强大的date()函数了。直接上代码。

<php

    header("Content-Type: text/html;charset=utf-8");  //可不要,在这里只是为了让确定字符格式,防止乱码。

    $week = date('W');

    echo '今天是一年中的第'$week'周';

>

<php

//获取当前年份

$year = date('Y');

// $year = 2009;

//2009-01-01 星期4 $firstweekday=4

$firstWeekDay = date('w',strtotime($year'-01-01'));

if($firstWeekDay === 0)

$firstWeekDay = 7;

//第二周的周一 = 1号 + 8-1号所属的周几

//这个地方8天比较难理解,可以好好思考

$secondMonday = 9-$firstWeekDay;

$secondMondayDate = $year'-01-0'$secondMonday;

echo $secondMondayDate,'<br />';

//当前周 W 是从周一开始的

$currentWeek = date('W');

//这里的3周和之前的8天很类似 关于日期的计算果然很麻烦阿 哈哈

$pastDays = ($currentWeek - 3)7;

echo $currentWeek,' | ',$pastDays,'<br />';

//上周的星期一

$lastWeekMonday = date('Y-m-d',strtotime($secondMondayDate" + $pastDays days"));

echo $lastWeekMonday;

瞧代码的话思路转换很重要不要被既有的事物束缚了

以上就是关于php 判断本月完整周,如何判断该完整周的第几天全部的内容,包括:php 判断本月完整周,如何判断该完整周的第几天、php怎么获取本周:周日-周六的日期;、thinkphp 怎么查本周 本月时间范围内的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9561902.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存