php实现的日历程序_PHP

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-05-30 08:44:51
オリジナル
2192 人が閲覧しました

本文实例讲述了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

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

<&#63;php

////判断$Year和$Month是否为空,如果为空就获取系统当前日期,否则用$_GET获取

$Year = empty($_GET['Year']) &#63; date("Y"): $_GET["Year"];

$Month = empty($_GET['Month']) &#63; date("m"): $_GET["Month"];

////获取当前日期////

$Today = date("Ymj");

////初始化日期数组////

$Maxday = array("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");

$Maxday_count = count($Maxday);

////初始化星期数组////

$Weekday = array("<font color='red'>Sun</font>","Mon","Tue","Wed","Thu","Fri","<font color='red'>Sat</font>");

$Weekday_count = count($Weekday);

$daynum = 0;

$space = "<td> </td>";

$col = 0;

////打印表格头部////

&#63;>

<form action="calendar.php" method="post" name="linked">

<table><tr><td colspan=3 align=center><a href="&#63;Year=<&#63;php if($Year-1 > 1900)echo $Year-1;else echo $Year;&#63;>&Month=<&#63;php echo $Month&#63;>" onClick="javascript:document.linked.submit();" name="Year"><<</a> <&#63;php echo $Year&#63;> <a href="&#63;Year=<&#63;php if($Year+1 <2999) echo $Year+1;else echo $Year;&#63;>&Month=<&#63;php echo $Month&#63;>" onClick="javascript:document.linked.submit();" name="Year">>></a></td>

<td> </td><td colspan=3 align=center><a href="&#63;Year=<&#63;php echo $Year&#63;>&Month=<&#63;php if($Month-1 >0) if($Month-1 < 10)echo "0".($Month-1); else echo $Month-1; else echo $Month;&#63;>" onClick="javascript:document.linked.submit();" name="Month"><<</a> <&#63;php echo $Month;&#63;> <a href="&#63;Year=<&#63;php echo $Year&#63;>&Month=<&#63;php if($Month+1 <13) if($Month+1 <10) echo "0".($Month+1);else echo ($Month+1); else echo $Month;&#63;>" onClick="javascript:document.linked.submit();" name="Month">>></a></td></tr><tr><td colspan="8"></td></tr><tr>

<&#63;php

////打印星期列表////

while(list(,$Weekvalue) = each($Weekday))

 echo "<td align=center> ".$Weekvalue." </td>";

echo "</tr>";

////打印日期列表////

//当月份为4,6,9,11的时候,从数组末尾删除一个值,也就是删除31这个值.

if($Month == 4 or $Month == 6 or $Month == 9 or $Month == 11)

{

 array_pop($Maxday);

 $Maxday_count--;

}

//先判断月份是否为2月,如果是的话再判断年份是否为闰年,如果是的话就从数组尾部移除2个值,否则就移除3个值.

if($Month == 2)

{

 if($Year % 4 == 0)

 {

 array_pop($Maxday);

 array_pop($Maxday);

 $Maxday_count-=2;

 }

 else

 {

 array_pop($Maxday);

 array_pop($Maxday);

 array_pop($Maxday);

 $Maxday_count-=3;

 }

}

////打印日期////

while($daynum < $Maxday_count)

{

echo "<tr>";

 while(list($colnum,$Dayvalue) = each($Maxday))

 {

  //判断当前日期为一星期中的哪一天

  $DayWeek = date("w",strtotime($Year."-".$Month."-".$Dayvalue));

  //当当前日期处于第1个,也就是每个月的第1天的时候,在它前面补上相应的空格子

  if($Dayvalue == 1)

   for($i=0;$i<$DayWeek;$i++)

   echo $space;//打印每个月空出的几个格子

  $daynum++;

  //当打印日期的时候与当前日期字符串进行比较,如果相等就将字体标为红色.

  if($Year.$Month.$Dayvalue == $Today)

  {

   $u1 = "<b><u>";

   $u2 = "</b></u>";

  }

  else

  {

   $u1 = "";

   $u2 = "";

  }

  if($DayWeek == 0 or $DayWeek == 6)

   $color = "red";

  else

   $color = "black";

  echo "<td align=center><font color=".$color."> ".$u1.$Dayvalue.$u2." </font></td>";

  //用本周第几天这个值加1,如果是7的倍数就换行退出此轮循环(换行打印)

  if(($DayWeek+1) % 7 == 0)

  {

   $col++;

   break;

  }

 }

echo "</tr>";

}

&#63;>

ログイン後にコピー

运行效果如下:

希望本文所述对大家的php程序设计有所帮助。

関連ラベル:
php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
関連するチュートリアル
人気のおすすめ
最新のコース
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート