当前位置:Gxlcms > PHP教程 > 简单实现日历

简单实现日历

时间:2021-07-01 10:21:17 帮助过:21人阅读

一个简单实现的日历,我不知道这段代码实现的方法有没有问题,没有参考前辈,等你理解我的烂代码之后,再欣赏一下别人的优秀代码,会更有帮助
  1. $date = isset($_GET['d']) ? intval($_GET['d']) : '';
  2. if($date)
  3. {
  4. $y = substr($date,0,4);
  5. $m = substr($date,4,2);
  6. $cur = mktime(0,0,0,$m,1,$y);
  7. }
  8. else
  9. {
  10. $cur = mktime();
  11. }
  12. list($year,$month,$day) = explode('-',date('Y-m-d',$cur));//年月日
  13. $p = date('Ym',strtotime('last months',$cur));//前一月
  14. $n = date('Ym',strtotime('next months',$cur));//后一月
  15. $t = date('t',$cur); //当月多少天
  16. $s = date('w',mktime(0,0,0,$month,1,$year)); //前补空白
  17. $e = 6-(date('w',mktime(0,0,0,$month,$t,$year)));//后补空白
  18. ?>
  19. " title="上一月">« " title="下一月">»
  20. echo '
  21. ';
  22. for($i=0;$i<$s;$i++)
  23. {
  24. echo '
  25. ';
  26. }
  27. for($d=1;$d<=$t;$d++)
  28. {
  29. $current=$d==$day?'class="current"':'';//当前样式
  30. $r = ($d+$s)%7;//换行
  31. echo "
  32. ";
  33. if($r==0)
  34. {
  35. echo '
  36. ';
  37. echo '
  38. ';
  39. }
  40. }
  41. for($i=0;$i<$e;$i++)
  42. {
  43. echo '
  44. ';
  45. }
  46. ?>
  47. $d

人气教程排行