PHP计算一年多少个星期和每周的开始和结束日期

PHP计算一年多少个星期和每周的开始和结束日期,第1张

PHP计算一年多少个星期和每周的开始和结束日期方法如下:

方法一:

<php

header("Content-type:text/html;charset=utf-8");

date_default_timezone_set("Asia/Shanghai");

$year = (int)$_GET['year'];

$week = (int)$_GET['week'];

$weeks = date("W", mktime(0, 0, 0, 12, 28, $year));

echo $year '年一共有' $weeks '周<br />';

if ($week > $weeks || $week <= 0)

{

$week = 1;

}

if ($week < 10)

{

$week = '0' $week;

}

$timestamp['start'] = strtotime($year 'W' $week);

$timestamp['end'] = strtotime('+1 week -1 day', $timestamp['start']);

echo $year '年第' $week '周开始时间戳:' $timestamp['start'] '<br />';

echo $year '年第' $week '周结束时间戳:' $timestamp['end'] '<br />';

echo $year '年第' $week '周开始日期:' date("Y-m-d", $timestamp['start']) '<br />';

echo $year '年第' $week '周结束日期:' date("Y-m-d", $timestamp['end']);

>

方法二: <php

header("Content-type:text/html;charset=utf-8");

function getIsoWeeksInYear($year)

{

$date = new DateTime;

$date->setISODate($year, 53);

return ($date->format("W") === "53" 53 : 52);

}

function weekday($custom_date)

{

$week_start = date('d-m-Y', strtotime('this week monday', $custom_date));

$week_end = date('d-m-Y', strtotime('this week sunday', $custom_date));

$week_array[0] = $week_start;

$week_array[1] = $week_end;

return $week_array;

}

echo '<br> Weeks in 2013<br>' getIsoWeeksInYear(2013);

$weekday = weekday(strtotime(date('d-m-Y', strtotime('5-8-2013'))));

echo '<br> 10-8-2013';

echo '<br>Start: ' $weekday[0];

echo '<br>End: ' $weekday[1];

>

或者方法三:

function get_week($year) {

$year_start = $year "-01-01";

$year_end = $year "-12-31";

$startday = strtotime($year_start);

if (intval(date('N', $startday)) != '1') {

$startday = strtotime("next monday", strtotime($year_start)); //获取年第一周的日期

}

$year_mondy = date("Y-m-d", $startday); //获取年第一周的日期

$endday = strtotime($year_end);

if (intval(date('W', $endday)) == '7') {

$endday = strtotime("last sunday", strtotime($year_end));

}

$num = intval(date('W', $endday));

for ($i = 1; $i <= $num; $i++) {

$j = $i -1;

$start_date = date("Y-m-d", strtotime("$year_mondy $j week "));

$end_day = date("Y-m-d", strtotime("$start_date +6 day"));

$week_array[$i] = array (

str_replace("-",

"",

$start_date

), str_replace("-", "", $end_day));

}

return $week_array;

}

函数get_week()通过传入参数$year年份,获取当年第一天和最后一天所在的周数,计算第一周的日期,通过循环获取每一周的第一天和最后一天的日期。最后返回是一个数组。

想得到指定周数的开始日期和结束日期,比如2011年第18周的开始日期和结束日期,代码如下:

复制代码 代码如下:

$weeks = get_week(2011);

echo '第18周开始日期:'$weeks[18][0]'';

echo '第18周结束日期:'$weeks[18][1];

最后输出结果:

第18周开始日期:20110502

第18周结束日期:20110508

PHP获取服务器时间和本地时间很简单,可以用内置函数实现,具体代码如下:

记得给分!!!

<php

 //获取服务器时间

    echo date("Y-m-d h:i:s");

 //获取本地时间(也可以说是你所在时区时间)

    date_default_timezone_set('地区'); //地区:中国是PRC,或shanghai,chongqing都可

    echo date("Y-m-d h:i:s");

>

当然获取本地时间还可以用JS实现,如下:

<script type="text/javascript">

function showLocale(objD){

var str,colorhead,colorfoot;

var yy = objDgetYear();

if(yy<1900) yy = yy+1900;

var MM = objDgetMonth()+1;

if(MM<10) MM = '0' + MM;

var dd = objDgetDate();

if(dd<10) dd = '0' + dd;

var hh = objDgetHours();

if(hh<10) hh = '0' + hh;

var mm = objDgetMinutes();

if(mm<10) mm = '0' + mm;

var ss = objDgetSeconds();

if(ss<10) ss = '0' + ss;

var ww = objDgetDay();

if  ( ww==0 )  colorhead="<font color=\"#000000\">";

if  ( ww > 0 && ww < 6 )  colorhead="<font color=\"#000000\">";

if  ( ww==6 )  colorhead="<font color=\"#000000\">";

if  (ww==0)  ww="星期日";

if  (ww==1)  ww="星期一";

if  (ww==2)  ww="星期二";

if  (ww==3)  ww="星期三";

if  (ww==4)  ww="星期四";

if  (ww==5)  ww="星期五";

if  (ww==6)  ww="星期六";

colorfoot="</font>"

str = colorhead + yy + "-" + MM + "-" + dd + " " + hh + ":" + mm + ":" + ss + "  " + ww + colorfoot;

return(str);

}

function tick(){

var today;

today = new Date();

documentgetElementById("localtime")innerHTML = showLocale(today);

windowsetTimeout("tick()", 1000);

}

tick();

</script>

php获得服务器时间,用到的工具:notepad++,步骤如下:

代码如下:

<php

//以中国为时区为示例

date_default_timezone_set("PRC");

echo date("Y年-m月-d日 H:i:s");

>

说明:输出的时间格式为xxxx-xx-xx xx:xx:xx即2017-03-21 20:45:59

2将代码放到一个php文件中,以homephp为示例,放到网站目录下边,运行以后的效果:

注意事项:此代码必须在php环境下运行。

$weekday=array('天','一','二','三','四','五','六');

$showtime=date("Y年n月d日 星期")$weekday[date("w")];

echo $showtime;

以上就是关于PHP计算一年多少个星期和每周的开始和结束日期全部的内容,包括:PHP计算一年多少个星期和每周的开始和结束日期、PHP如何获取本地时间与服务器时间、PHP获取当前服务器时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9866429.html

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

发表评论

登录后才能评论

评论列表(0条)

保存