図1に示すように、これは単純な例であり、PHP
図2に示すように、この例の関数は、単純なカレンダー表示を達成することです。
3、この関数の役割は次のとおりです。指定された年、月、日、出力電流のカレンダーの月を入力し、指定した日に、ハイライトに入りました。
以下を達成するために特定のコード:
1 <?PHP 2 ヘッダ( "のContent-Type:text / htmlの;のcharset = UTF-8" ); 3。 4。 date_default_timezone_set( "PRC" ); 5。 6。 / * 7 *カレンダー機能 8 * / 9。 10 / * * 11 *出力電流年、月カレンダー 12 * 2015年6月13日 13 * @author Gaoqing 14 * @param int型の$年間で 15 * @param int型$月年1月 16 * @param int型$現在の日付の日の 17 * @return空のボイド 18 * / 19 機能カレンダー($年、$月ザ・、$日){ 20がある / * 21がある *。1、それはどのように多くの日、月、現在の年を決定する 22 * 2、カレンダーの基本フレームの出力 23 * 3は、現在の月の最初の日に決定され、週は 24 * 4、サイクルのすべての日、カレンダーを埋める 25 * / 26 27 // 現在の年を決定、1月、何日 28 $ UNIX_TIME = はmktime(0、0、0、$月、1、$年); 29 / / $ mont_day = cal_days_in_month(CAL_GREGORIAN、月$、$年); 30 $ mont_day = INTVAL(DATE( 'T'、$のUNIX_TIME )); 31は、 32 // 2、カレンダーの基本的な枠組みの出力 33は エコー "<表ボーダー= '0'スタイル= ':;:800ピクセルテキストALIGN =左中央幅;'>" ; 34は、 35 エコー "<TR>" ; 36 エコー "<TH>日</目>" ; 37 [ エコー "<目>月曜日、</目>" ; 38は 、エコー "<TH>火曜日、</目>" ; 39 エコー "<TH>水曜日</目>" ; 40 エコー "<TH>木曜日</ TH>" ; 41は 、エコー "<TH>金曜日</ TH>" ; 42は エコー "<TH>土</ TH>" ; 43は エコー "</ TR>"; 44は 45 // 週の、現在の月の最初の日に決定され、3 46れる $ first_day_weekは = INTVAL(DATE( 'W'、$のUNIX_TIME )); 47 48 / * 49 。* 4、サイクルのすべての日を、埋めますカレンダー 50 * 4.1、最初の最初の行を充填、数に基づいて、週の最初の日には、空白を埋める 51 * 4.2、連続するサイクルの日付の数、$ I%7、記載されて来週、ラインの必要性 52 * 4.3、サイクル後にすべての日付がない場合はスペースで、テーブルの最後にするかどうかを決定する 53である * / 54である エコー「<TR>」; 55 // 4.1、最初の週の最初の日によると、最初の行を充填する充填空白の 56である ために($ I = 0; $私は <first_day_week $、$ I ++ ){ 57は エコー "<TD>&NBSP; </ TD>" ; 58 } 59 60 // 4.2、注文日のサイクル数、来週説明$ I%7、ラップ必要 である61を するために($ Jの。; = 1 $ J <= $ mont_day ; $ J ++ ){ ある62 のIF($ J == $日{) 63は 、エコー ':赤い背景;'> {<TDスタイル=」$ J } </ TD> " ; 64 } 他{ 65 エコー " <TD> {J $ } </ TD> " ; 66 } 67 $ I ++ ; 68 69 IF($ I%7 == 0 ){ 70 エコー " </ TR> <TR> " ; 71である } 72 } 73である 74 // 4.3、すべての日付は、スペースで、そうでない場合は、テーブルの終了するか否かを判断する、循環している 75 しばらく($ I%7 = 0を。!{) 76 $ I ++ ; 77 エコー「<TD>&NBSP; </ TD > " ; 78 } 79 80 エコー " </ TR> "; 81 82 エコー "</ TABLE>" 。 83 } 84 85 カレンダー(2015年6、13 )。 86?>
シンプルなページの読み込み:
ます。https://www.cnblogs.com/gaoqing/articles/4573257.htmlで再現