
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()函数了。直接上代码。
<phpheader("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 怎么查本周 本月时间范围内的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)