Advertisement
Guest User

Untitled

a guest
Aug 19th, 2019
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.22 KB | None | 0 0
  1. $y = date('Y');
  2. $m = date('m');
  3. $t = date('t');
  4. $d = 1;
  5. if(isset($_GET["month"])) {
  6. $m = $_GET['month'];
  7. }
  8. if(isset($_GET["year"])) {
  9. $y = $_GET['year'];
  10. }
  11.  
  12. // 前月へのリンク翌月へのリンクを表示
  13. $now = $y ."年" . $m ."月";
  14. $prev = mktime(0, 0, 0, $m - 1 , 1, $y);
  15. $next = mktime(0, 0, 0, $m + 1 , 1, $y);
  16. echo "<table><thead><tr><td colspan='7'><a href='/dojo?year=".date('Y', $prev)."&month=".date('m', $prev)."'>前月へ</a>" . $now . "<a href='/dojo?year=".date('Y', $next)."&month=".date('m', $next)."'>翌月へ</a></td></tr></thead><tr>";
  17.  
  18. // 曜日を表示
  19. $week = array( '月', '火', '水', '木', '金', '土', '日' );
  20. for ($i = 1; $i <= 7; $i++) {
  21. echo "<th>" . $week[$i - 1] . "</th>";
  22. }
  23.  
  24. echo "</tr><tr>";
  25.  
  26. // 始まりの曜日に応じて空白を表示
  27. $i = 1;
  28. $startWeek = (date("w", mktime(0, 0, 0, $m, 1, $y)) - 1);
  29. if($startWeek < 0) {
  30. $startWeek = 6 - ($startWeek) - 1;
  31. }
  32. while ($i <= $startWeek) {
  33. echo "<td></td>";
  34. ++$i;
  35. }
  36.  
  37. // 日付を表示
  38. while(checkdate($m, $d, $y)) {
  39. echo "<td>" . $d . "</td>";
  40. $d++;
  41. // 日曜日で改行
  42. $timestamp = mktime(0, 0, 0, $m, $d, $y);
  43. if (date("w", $timestamp) === "1") {
  44. echo "</tr><tr>";
  45. }
  46. }
  47. echo "</tr></table>";
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement