PHP在线日历的实现
以下是代码,由于本人水平有限,代码不够完善,请大家谅解!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
<?php /** *@author xudianyang<> *@version $Id:calendar.php,v 1.0 2011/02/12 15:12:00 uw Exp *@copyright ©2011,xudianyang */ /** *PHP生成一个简单的在线日历 * *@param string $language 日历语言,值为EN,表示英文,值为CN,代表中文 *@return string 返回日历的HTML代码 */ define( "EMPTY_COLUMN" , "" ); header( "content-type:text/html;charset=gb2312" ); function php_calendar( $language = 'EN' ){ $lang = array ( 'EN' , 'CN' ); if (!in_array( $language , $lang )){ $language = "EN" ; } $months = array ( 'January' , 'February' , 'March' , 'April' , 'May' , 'June' , 'July' , 'August' , 'September' , 'October' , 'November' , 'December' ); $EN = array ( 'month' => array ( 'January' => 'January' , 'February' => 'February' , 'March' => 'March' , 'April' => 'April' , 'May' => 'May' , 'June' => 'June' , 'July' => 'July' , 'August' => 'August' , 'September' => 'September' , 'October' => 'October' , 'November' => 'November' , 'December' => 'December' ,), 'week' => array ( 'Mon' => 'Mon' , 'Tue' => 'Tue' , 'Wed' => 'Wed' , 'Thu' => 'Thu' , 'Fri' => 'Fri' , 'Sat' => 'Sat' , 'Sun' => 'Sun' ), 'today' => 'today' , ); $CN = array ( 'month' => array ( 'January' => '一月' , 'February' => '二月' , 'March' => '三月' , 'April' => '四月' , 'May' => '五月' , 'June' => '六月' , 'July' => '七月' , 'August' => '八月' , 'September' => '九月' , 'October' => '十月' , 'November' => '十一月' , 'December' => '十二月' ,), 'week' => array ( 'Mon' => '星期一' , 'Tue' => '星期二' , 'Wed' => '星期三' , 'Thu' => '星期四' , 'Fri' => '星期五' , 'Sat' => '星期六' , 'Sun' => '星期天' ), 'today' => '转到今天' , ); if (isset( $_GET [ 'month' ]) && in_array( $_GET [ 'month' ], $months )){ $month = $_GET [ 'month' ]; } else { $month = date ( "F" ); } if (isset( $_GET [ 'year' ]) && is_numeric ( $_GET [ 'year' ]) && $_GET [ 'year' ]<=2038 && $_GET [ 'year' ]>=1970){ $year = $_GET [ 'year' ]; } else { $year = date ( "Y" ); } $start = strtotime ( "$month 1st $year" ); $end = strtotime ( "$month " . date ( "t" , $start ). " $year" ); $previous_year = strtotime ( "-1 year" , $start ); $next_year = strtotime ( "+1 year" , $start ); $previous_month = strtotime ( "-1 month" , $start ); $next_month = strtotime ( "+1 month" , $start ); $link = "<a href=" http: /"> |