最近接了一个项目,其中有一需求是用php获取一年有几周以及每周开始日期和接触日期。在网上找些资料没有合适的,于是自己做了一份,下面通过两种方式实现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]; ?>
以上本文的全部内容,希望对大家学习PHP获取一年有几周以及每周开始日期和结束日期,有所帮助。
本文地址:https://www.stayed.cn/item/11342
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我