代码如下:
<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> }
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号