一年有多个周,每周的开始日期和结束日期

参考代码一:[正在使用的版本]

<?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; // 注意:一定要转为 2位数,否则计算出错
}
$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];
?>

最新文章

  1. 浅谈JavaScript中的defer,async
  2. JavaScript的3大组成部分&amp;&amp;ECMAScript函数&amp;&amp;闭包
  3. Android Studio 配置JPush
  4. Ffmpeg解析media容器过程/ ffmpeg 源代码简单分析 : av_read_frame()
  5. UVA 10735 Euler Circuit 混合图的欧拉回路(最大流,fluery算法)
  6. 在万网虚拟主机上部署MVC5
  7. System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt&quot;.
  8. 【JVM命令系列】jstat
  9. UNIX网络编程——揭开网络编程常见API的面纱【上】
  10. CentOS7搭建本地YUM仓库,并定期同步阿里云源
  11. Django content_type 简介及其应用
  12. git配置代理
  13. android ScrollView 控制行数
  14. 我对CopyOnWrite的思考
  15. echo 转义字符的使用
  16. 未能加载文件或程序集“Oracle.DataAccess”或它的某一个 依赖项。如何解决?
  17. 利用latex制作个人简历
  18. C C++ 去除 unused的提示
  19. magento注册
  20. maven 学习:为什么要使用maven,maven使用过程中的一些参数

热门文章

  1. 线程同步之 yield() wait()
  2. Hibernate中Java对象的三种状态
  3. 第4章 文本编辑器vim
  4. python yield from用法
  5. Python-09-线程、进程、协程、异步IO
  6. [网络安全] [视频分享]KaLi Linux基础培训2016 最新的哦【福吧资源网】
  7. 集合和String
  8. CCPC2016合肥现场赛
  9. 【javascript】箭头函数
  10. 即使用ADO.NET,也要轻量级动态生成更新SQL,比Ormlite性能更高