달력의 다양한 경계값을 생성...LOGIN

달력의 다양한 경계값을 생성하는 간단한 달력을 만드는 PHP 개발

113.png

함수 임계값 방법을 사용자 정의하여 달력의 각 경계값을 생성

1) 이번 달의 총 일수 계산

2) 이번 달의 첫 번째와 마지막 날, 그리고 요일을 계산합니다. 각각은

3) 달력 계산 첫 번째 날짜와 마지막 날짜

<?php
function threshold($year, $month) {
    $firstDay = mktime(0, 0, 0, $month, 1, $year);
    $lastDay = strtotime('+1 month -1 day', $firstDay);
    //取得天数  
    $days = date("t", $firstDay);
    //取得第一天是星期几
    $firstDayOfWeek = date("N", $firstDay);
    //获得最后一天是星期几
    $lastDayOfWeek = date('N', $lastDay);
    //上一个月最后一天
    $lastMonthDate = strtotime('-1 day', $firstDay);
    $lastMonthOfLastDay = date('d', $lastMonthDate);
    //下一个月第一天
    $nextMonthDate = strtotime('+1 day', $lastDay);
    $nextMonthOfFirstDay = strtotime('+1 day', $lastDay);
    
    //日历的第一个日期
    if($firstDayOfWeek == 7){
      $firstDate = $firstDay;
    }else{
      $firstDate = strtotime('-' . $firstDayOfWeek . ' day', $firstDay);
    }
    //日历的最后一个日期
    if($lastDayOfWeek == 6){
      $lastDate = $lastDay;
    }elseif($lastDayOfWeek == 7){
      $lastDate = strtotime('+6 day', $lastDay);
    }else{
      $lastDate = strtotime('+' . (6 - $lastDayOfWeek) . ' day', $lastDay);
    }
    
    return array(
    'days' => $days, 
    'firstDayOfWeek' => $firstDayOfWeek, 
    'lastDayOfWeek' => $lastDayOfWeek,
    'lastMonthOfLastDay' => $lastMonthOfLastDay,
    'firstDate' => $firstDate,
    'lastDate' => $lastDate,
    'year' => $year,
    'month' => $month
    );
}
?>

참고:

mktime() 함수는 날짜의 UNIX 타임스탬프를 반환합니다.

strtotime() 함수는 영어 텍스트 날짜 또는 시간 설명을 Unix 타임스탬프(1970년 1월 1일 00:00:00 GMT 이후의 초 수)로 구문 분석합니다.

다음 섹션
<?php function threshold($year, $month) { $firstDay = mktime(0, 0, 0, $month, 1, $year); $lastDay = strtotime('+1 month -1 day', $firstDay); //取得天数 $days = date("t", $firstDay); //取得第一天是星期几 $firstDayOfWeek = date("N", $firstDay); //获得最后一天是星期几 $lastDayOfWeek = date('N', $lastDay); //上一个月最后一天 $lastMonthDate = strtotime('-1 day', $firstDay); $lastMonthOfLastDay = date('d', $lastMonthDate); //下一个月第一天 $nextMonthDate = strtotime('+1 day', $lastDay); $nextMonthOfFirstDay = strtotime('+1 day', $lastDay); //日历的第一个日期 if($firstDayOfWeek == 7){ $firstDate = $firstDay; }else{ $firstDate = strtotime('-' . $firstDayOfWeek . ' day', $firstDay); } //日历的最后一个日期 if($lastDayOfWeek == 6){ $lastDate = $lastDay; }elseif($lastDayOfWeek == 7){ $lastDate = strtotime('+6 day', $lastDay); }else{ $lastDate = strtotime('+' . (6 - $lastDayOfWeek) . ' day', $lastDay); } return array( 'days' => $days, 'firstDayOfWeek' => $firstDayOfWeek, 'lastDayOfWeek' => $lastDayOfWeek, 'lastMonthOfLastDay' => $lastMonthOfLastDay, 'firstDate' => $firstDate, 'lastDate' => $lastDate, 'year' => $year, 'month' => $month ); } ?>
코스웨어