PHP 计算某日是这一年的第几周

作者&投稿:琦话 (若有异议请与网页底部的电邮联系)
php判断某日期是哪一年的第几周~

echo date('W',strtotime('2016-10-10'));
W 是大写

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

在判断某一天是哪一年的第几周的时候,根据采用的国际标准(忘了叫什么名字了),年首或者年末的那几天有可能不属于今年的第一周或者最后一周。

代码如下:

<?php

echo date("oW",strtotime("20141229"))."
";

echo date("oW",strtotime('20160101'))."
";

?>

扩展资料

php计算时间段的天数:

 $firstday = date("Y-m-d H:i:s",time());//当前日期

$timestamp=strtotime($firstday);//当前日期时间戳

$firstday=date('Y-m-01',strtotime(date('Y',$timestamp).'-'.(date('m',$timestamp)-1).'-01'));//上个月开始的日期

$lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day"));//上个月结束的日期

$stimestamp = strtotime($firstday);

$etimestamp = strtotime($lastday);// 计算日期段内有多少天

$days = ($etimestamp-$stimestamp)/86400+1;// 保存每天日期

$date = array();

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

$date[] = date('Y-m-d', $stimestamp+(86400*$i));

}



我知道日期函数DatePart()可以获得该时日是第几周,但这个是以星期天作为一周的第一天开始算的,导致结果有所偏差,我需要按星期一作为一周的第一天来算,求实现方法。请各位高手指导。


/*
系统自带的date('W',time()) 有bug  比如,一年中的第一天如果不是周一的话,返回值是
52或者53。 可以实测一下。就是说, 系统默认认为这一天是去年的第52/53周。
*/

echo get_weeks_num('2017-01-01');

function get_weeks_num($time){
     $month = intval(date('m',$time));//当前时间的月份
     $fyear = strtotime(date('Y-01-01',$time));//今年第一天时间戳
     $fdate = intval(date('N',$fyear));//今年第一天 周几
     $sysweek = intval(date('W',$time));//系统时间的第几周
     //大于等于52 且 当前月为1时, 返回1
     if(($sysweek >= 52 && $month == 1)){
     return 1;
     }elseif($fdate == 1){
     //如果今年的第一天是周一,返回系统时间第几周
     return $sysweek;
     }else{
     //返回系统周+1
     return $sysweek + 1;
     }
    }


<?php
    $strTime = '2017-09-14';
    $intWeek = ceil(((strtotime($strTime) - strtotime("2017-01-01 00:00:00")))/(7*86400));
    var_dump($strTime."是今年的第".$intWeek."周");

?>


<?php
error_reporting(0);
echo date('W',strtotime('2018-03-05'));
echo "<hr>";
echo date('W',strtotime("now"));
echo "<hr>";
$start=intval(date('W',strtotime('2018-03-05')));
//echo $start;
//var_dump($start);
$end=intval(date('W',strtotime('now')));
//echo $end;
//var_dump($end);
$week=$end-$start;
echo $week;
var_dump($week);
?>


潼关县13870899798: PHP 计算某日是这一年的第几周 -
强蝶伊特: 我知道日期函数DatePart()可以获得该时日是第几周,但这个是以星期天作为一周的第一天开始算的,导致结果有所偏差,我需要按星期一作为一周的第一天来算,求实现方法.请各位高手指导.

潼关县13870899798: php判断某日期是哪一年的第几周 -
强蝶伊特: echo date('W',strtotime('2016-10-10')); W 是大写

潼关县13870899798: 急求!php 已经知道第几周 如何用第几周知道是几年几月几号 到 几年几月几号? -
强蝶伊特: <?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号所属的周几//这个地方...

潼关县13870899798: PHP算法:知道具体年月日求本周从几号到几号? -
强蝶伊特: 下面的程序调试通过,你参考其代码应该能写出你需要的东西:<?php$y=2010;$m=1;$d=14;$today=mktime($m,$d,$y);$w=date('w',$today);//echo $w; echo '本周开始日期:',date('Y-m-d', $today-$w*24*3600),"\n"; echo '本周结束日期:',date('Y-m-d', $today+(7-$w)*24*3600),"\n";?> 程序执行结果:本周开始日期:2010-01-10 本周结束日期:2010-01-17

潼关县13870899798: php如何计算某一天是周几? -
强蝶伊特: 简单的不能在简单了 date("w") (获得当天是周几) (0代表周日) date用法,第2个参数传时间戳, 比如获取2013-01-14号 是周几 date("w",strtotime("2013-01-14"));

潼关县13870899798: php 计算某一年某个月有几周 -
强蝶伊特: function get_weekinfo($month){ $weekinfo = array();//创建一个空数组 $end_date = date('d',strtotime($month.' +1 month -1 day'));//计算当前月有多少天 for ($i=1; $i$w = date('N',strtotime($month.'-'.$i)); //计算第一天是周几 $weekinfo[] = ...

潼关县13870899798: 如何计算某一年的某一天是星期几 -
强蝶伊特: <?php$date = '2015-2-28'; $time = strtotime($date); echo date('w', $time); // 输出0则为周日,1周一,2周二....以上例子则输出:6 ?>

潼关县13870899798: php取这个2007 - 08 - 27 17:17:18中的年月日 -
强蝶伊特: 格式 date("Y m d",strtotime('2007-08-27 17:17:18'))因为你限定的就是输出"Y m d"格式的时间,也就是年月日,没有给定时分秒的格式,通常格式为(...

潼关县13870899798: 如何计算某一天是一年中的第几周?条件是:已经三个参数:year,month,day为整型数值,分别表示某天的年月日信息.在不使用与语言有关的类库信息时,如... -
强蝶伊特:[答案] 首先要知道这一天是这一年中的第几天,例如:4月16日 他就是 31+28(平年)+31+16=106天106/7=15.1如果有余数就把15+1=16如果没有余数不变.所以4月16日应该是第16周而4月15日 105/7=15 所以是第15周至于平年和闰年的...

潼关县13870899798: 请问在PHP中如何计算日期2013年7月8号是星期几?是一年中的第几天? -
强蝶伊特: $strtime="2013-7-8";//要求的时间$time=strtotime($strtime); echo $strtime." 是星期:".date('w',$time)."<br>"; echo $strtime." 是年份中的第:".date('z',$time)."天<br>";

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网