Zend - The PHP Company




Calendars

Add Code


Seo Jong-hwa Calendar  

Type: application
Added by: headerfile
Entered: 07/04/2002
Last modified: 04/12/2001
Rating: - (fewer than 3 votes)
Views: 5049
Calendar. This don't use PHP calendar library. Just process calculating and prints


<?php

////////////////////////////////////////////////////////////////////////////////
// check leap year
function is_leapyear($year)
{
    return ( ( (
$year == 0) && ($year 100 != 0) ) || $year 400 == ) ? true false;
}

// get first day
// 0001 - 01 - 01 is Monday !
function get_firstdate($year)
{
    
$y $year 1;
    return (
$year $y/$y/100 $y/400) % 7;
}

// subtitute $date number to date string and print
function print_date($date)
{
    
// 0 : Sun ~ 6 : Sat
    
$date_arr = array( "Sun""Mon""Tue""Wed""Thu""Fri""Sat" );
    return 
$date_arr[$date];
}

function 
get_date($year$month$day)
{
    
$days = array (
        array ( 
0315990120151181212243273304334 ),
        array ( 
0316091121152182213244274305335 )
        );

    
$leap is_leapyear($year) ? 0;

    return ( 
get_firstdate($year) + $days[$leap][$month 1] + $day ) % 7;
}
////////////////////////////////////////////////////////////////////////////////

function print_month_table($year$month$day)
{
    
$days = array (
        array ( 
0312831303130313130313031 ),
        array ( 
0312931303130313130313031 )
        );
    
$leap is_leapyear($year) ? 0;
    
$days_cnt $days[$leap][$month];
    
$first get_date($year$month1);
    
$last  get_date($year$month$days_cnt);

    
$prev_year $year 1;
    
$next_year $year 1;

    
$prev_month $month 1;
    
$next_month $month 1;

    echo(
"<table width='100%' border='1' cellspacing='1' cellpadding='2'>
        <form name='cal' action='
$PHP_SELF' method='get'");
    echo(
"<tr> <td colspan='7' align='right' class='day'> $year - $month </td> </tr>");
    echo(
"<tr>
        <td width='25' class='sunday'> Sun </td>
        <td width='25' class='day'> Mon </td>
        <td width='25' class='day'> Tue </td>
        <td width='25' class='day'> Wed </td>
        <td width='25' class='day'> Thu </td>
        <td width='25' class='day'> Fri </td>
        <td width='25' class='day'> Sat </td>
        </tr><tr>"
);

    
//////////////////////////////////////////////////
    
for ($i 0$i $first$i++) // first space
        
echo("<td class='day'> &nbsp; </td>");

    for (
$i 1$i <= $days_cnt$i++)
    {
        if ( 
get_date($year$month$i) != )
            echo (
"<td class='day'> $i </td>");
        else
            echo (
"<td class='sunday'> $i </td>");

        if ( 
get_date($year$month$i) == )
            echo(
"</tr> <tr>");
    }

    for (
$i $last$i 6$i++)  // last space
        
echo("<td class='day'> &nbsp; </td>");
    
//////////////////////////////////////////////////
    
echo("</tr>");
}

if ( 
$year && $month && $day )
    ;
else 
// default get today
{
    
$today getdate();
    
$year  $today['year'];
    
$month $today['mon'];
    
$day   $today['mday'];
}

print_month_table($year$month$day);
?>



Usage Example




Rate This Script





Search



This Category All Categories