Home >Backend Development >PHP Tutorial >php Calender (calendar) code_PHP tutorial
The code is as follows:
<span 1</span> <?<span php </span><span 2</span> <span /*</span><span * </span><span 3</span> <span * </span><span 4</span> <span * 我的日历 </span><span 5</span> <span * date_default_timezone_set date mktime </span><span 6</span> <span * @param int $year </span><span 7</span> <span * @param int $month </span><span 8</span> <span * @param string $timezone </span><span 9</span> <span * @author fc_lamp </span><span 10</span> <span * @blog: http://www.cnblogs.com/roucheng/ </span><span 11</span> <span */</span> <span 12</span> <span function</span> myCalender(<span $year</span> = '', <span $month</span> = '', <span $timezone</span> = 'Asia/Shanghai'<span ) </span><span 13</span> <span { </span><span 14</span> <span 15</span> date_default_timezone_set ( <span $timezone</span><span ); </span><span 16</span> <span $year</span> = <span abs</span> ( <span intval</span> ( <span $year</span><span ) ); </span><span 17</span> <span $month</span> = <span abs</span> ( <span intval</span> ( <span $month</span><span ) ); </span><span 18</span> <span 19</span> <span //</span><span 是否是32位机</span> <span 20</span> <span if</span><span (is32()) </span><span 21</span> <span { </span><span 22</span> <span if</span> (<span $year</span> < 1970 or <span $year</span> >= 2038<span ) </span><span 23</span> <span { </span><span 24</span> <span $year</span> = <span date</span> ( 'Y'<span ); </span><span 25</span> <span } </span><span 26</span> } <span else</span> <span 27</span> <span { </span><span 28</span> <span if</span> (<span $year</span> <= 0<span ) </span><span 29</span> <span { </span><span 30</span> <span $year</span> = <span date</span> ( 'Y'<span ); </span><span 31</span> <span } </span><span 32</span> <span 33</span> <span } </span><span 34</span> <span 35</span> <span if</span> (<span $month</span> <= 0 or <span $month</span> > 12<span ) </span><span 36</span> <span { </span><span 37</span> <span $month</span> = <span date</span> ( 'm'<span ); </span><span 38</span> <span } </span><span 39</span> <span 40</span> <span //</span><span 上一年</span> <span 41</span> <span $pretYear</span> = <span $year</span> - 1<span ; </span><span 42</span> <span //</span><span 上一月</span> <span 43</span> <span $mpYear</span> = <span $year</span><span ; </span><span 44</span> <span $preMonth</span> = <span $month</span> - 1<span ; </span><span 45</span> <span if</span> (<span $preMonth</span> <= 0<span ) </span><span 46</span> <span { </span><span 47</span> <span $preMonth</span> = 1<span ; </span><span 48</span> <span $mpYear</span> = <span $pretYear</span><span ; </span><span 49</span> <span } </span><span 50</span> <span 51</span> <span //</span><span 下一年</span> <span 52</span> <span $nextYear</span> = <span $year</span> + 1<span ; </span><span 53</span> <span //</span><span 下一月</span> <span 54</span> <span $mnYear</span> = <span $year</span><span ; </span><span 55</span> <span $nextMonth</span> = <span $month</span> + 1<span ; </span><span 56</span> <span if</span> (<span $nextMonth</span> > 12<span ) </span><span 57</span> <span { </span><span 58</span> <span $nextMonth</span> = 1<span ; </span><span 59</span> <span $mnYear</span> = <span $nextYear</span><span ; </span><span 60</span> <span } </span><span 61</span> <span 62</span> <span //</span><span 日历头</span> <span 63</span> <span $html</span> = <<<<span HTML </span><span 64</span> <table width="500" border="1"> <span 65</span> <tr align="center"> <span 66</span> <td><a href="?y=<span $pretYear</span>">上一年</a></td> <span 67</span> <td><a href="?y=<span $mpYear</span>&m=<span $preMonth</span>">上一月</a></td> <span 68</span> <td><a href="?">回到今天</a></td> <span 69</span> <td><a href="?y=<span $mnYear</span>&m=<span $nextMonth</span>">下一月</a></td> <span 70</span> <td><a href="?y=<span $nextYear</span>">下一年</a></td> <span 71</span> </tr> <span 72</span> <tr align="center"> <span 73</span> <td colspan="5">{<span $year</span>}年{<span $month</span>}月</td> <span 74</span> </tr> <span 75</span> <tr> <span 76</span> <td colspan="5"> <span 77</span> <table width="100%" border="1"> <span 78</span> <tr align="center"> <span 79</span> <td 80</span> <td 81</span> <td 82</span> <td 83</span> <td 84</span> <td 85</span> <td 86</span> </tr> <span 87</span> <span HTML; </span><span 88</span> <span 89</span> <span $currentDay</span> = <span date</span> ( 'Y-m-j'<span ); </span><span 90</span> <span 91</span> <span //</span><span 当月最后一天</span> <span 92</span> <span $lastday</span> = <span date</span> ( 'j', <span mktime</span> ( 0, 0, 0, <span $nextMonth</span>, 0, <span $year</span><span ) ); </span><span 93</span> <span 94</span> <span //</span><span 循环输出天数</span> <span 95</span> <span $day</span> = 1<span ; </span><span 96</span> <span $line</span> = ''<span ; </span><span 97</span> <span while</span> ( <span $day</span> <= <span $lastday</span><span ) </span><span 98</span> <span { </span><span 99</span> <span $cday</span> = <span $year</span> . '-' . <span $month</span> . '-' . <span $day</span><span ; </span><span 100</span> <span 101</span> <span //</span><span 当前星期几</span> <span 102</span> <span $nowWeek</span> = <span date</span> ( 'N', <span mktime</span> ( 0, 0, 0, <span $month</span>, <span $day</span>, <span $year</span><span ) ); </span><span 103</span> <span 104</span> <span if</span> (<span $day</span> == 1<span ) </span><span 105</span> <span { </span><span 106</span> <span $line</span> = '<tr align="center">'<span ; </span><span 107</span> <span $line</span> .= <span str_repeat</span> ( '<td> </td>', <span $nowWeek</span> - 1<span ); </span><span 108</span> <span } </span><span 109</span> <span 110</span> <span if</span> (<span $cday</span> == <span $currentDay</span><span ) </span><span 111</span> <span { </span><span 112</span> <span $style</span> = '; </span><span 113</span> } <span else</span> <span 114</span> <span { </span><span 115</span> <span $style</span> = ''<span ; </span><span 116</span> <span } </span><span 117</span> <span 118</span> <span $line</span> .= "<td <span $style</span>><span $day</span></td>"<span ; </span><span 119</span> <span 120</span> <span //</span><span 一周结束</span> <span 121</span> <span if</span> (<span $nowWeek</span> == 7<span ) </span><span 122</span> <span { </span><span 123</span> <span $line</span> .= '</tr>'<span ; </span><span 124</span> <span $html</span> .= <span $line</span><span ; </span><span 125</span> <span $line</span> = '<tr align="center">'<span ; </span><span 126</span> <span } </span><span 127</span> <span 128</span> <span //</span><span 全月结束</span> <span 129</span> <span if</span> (<span $day</span> == <span $lastday</span><span ) </span><span 130</span> <span { </span><span 131</span> <span if</span> (<span $nowWeek</span> != 7<span ) </span><span 132</span> <span { </span><span 133</span> <span $line</span> .= <span str_repeat</span> ( '<td> </td>', 7 - <span $nowWeek</span><span ); </span><span 134</span> <span } </span><span 135</span> <span $line</span> .= '</tr>'<span ; </span><span 136</span> <span $html</span> .= <span $line</span><span ; </span><span 137</span> <span 138</span> <span break</span><span ; </span><span 139</span> <span } </span><span 140</span> <span 141</span> <span $day</span> ++<span ; </span><span 142</span> <span } </span><span 143</span> <span 144</span> <span $html</span> .= <<<<span HTML </span><span 145</span> </table> <span 146</span> </td> <span 147</span> </tr> <span 148</span> </table> <span 149</span> <span HTML; </span><span 150</span> <span return</span> <span $html</span><span ; </span><span 151</span> <span } </span><span 152</span> <span 153</span> <span /*</span><span * </span><span 154</span> <span * </span><span 155</span> <span * 检测是否是32位机 </span><span 156</span> <span * @author fc_lamp </span><span 157</span> <span * @blog: fc-lamp.blog.163.com </span><span 158</span> <span */</span> <span 159</span> <span function</span><span is32() </span><span 160</span> <span { </span><span 161</span> <span $is32</span> = <span False</span><span ; </span><span 162</span> <span if</span> (<span strtotime</span> ( '2039-10-10' ) === <span False</span><span ) </span><span 163</span> <span { </span><span 164</span> <span $is32</span> = <span True</span><span ; </span><span 165</span> <span } </span><span 166</span> <span return</span> <span $is32</span><span ; </span><span 167</span> }