php Calender(日历)代码

代码如下:1=2038)23{24$year=date('Y');25}26}else27{28if($year12)36{37$

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

全栈程序员社区此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“验证码”,获取验证码。在微信里搜索“全栈程序员社区”或者“www_javaforall_cn”或者微信扫描右侧二维码都可以关注本站微信公众号。

代码如下:

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

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120753.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • LoadRunner详细使用教程

    LoadRunner详细使用教程文章目录VirturalUserGeneratorControllerAnalysisloadrunner的使用VirturalUserGenerator:录制脚本Controller:场景测试,收集并发测试的数据(多个用户并发场景)Analysis:分析系统并发测试的数据,生成报告和图标loadrunner做性能测试的原理?性能测试主要是多用户的并发,就是多线程模拟用户的操作,什么是集合点,为什莫需要集合点?因为先初始化好的线程需要等待后面还没初始化好的线程,所以设置一个集合点

    2022年5月23日
    67
  • 关于pycharm安装第三方库的一些方法_pycharm安装本地第三方库

    关于pycharm安装第三方库的一些方法_pycharm安装本地第三方库问题集合记得关梯子记得关梯子记得关梯子要是遇到pip命令报错,或者在pycharm中无法下载第三方库,首先检查一下梯子是否开了的。我的环境:pycharm+anaconda虚拟环境问题1:问题:WARNING:Youareusingpipversion21.2.4;however,version21.3.1isavailable.Youshouldconsiderupgradingviathe’D:\anaconda\envs\py36\python.e

    2022年8月28日
    5
  • Lucene 分词 TokenStream 取 Token

    Lucene 分词 TokenStream 取 TokenLucene分词 TokenStream取TokenTokenStreamtokenStream=analyzer.tokenStream("content",newStringReader(text));//TokenStream遍历3.5Strings1="";Strings2="";while(tokenStream.inc…

    2022年7月22日
    9
  • unrecognized selector sent to instance 0x10b34e810

    unrecognized selector sent to instance 0x10b34e810

    2022年1月15日
    49
  • 密码库LibTomCrypt学习记录——(2.12)分组密码算法的工作模式——OMAC认证模式

    密码库LibTomCrypt学习记录——(2.12)分组密码算法的工作模式——OMAC认证模式OMACOMAC是一种认证模式,LibTomCrypt中涉及的OMAC,而NIST中提到的是CMAC。它们之间的关系是这样的:为避免基本的MAC算法CBC-MAC存在的安全缺陷,Black和Rogaway对其进行了改进,提出了避免CBC-MAC安全缺陷的XCBC算法。Iwata和Kurosawa对XCBC进一步改进,提出了One-KeyCBC-MAC(OMAC),接着又精益求精地提出了OM…

    2022年7月14日
    19
  • 无锁环形缓冲区的详细解释

    无锁环形缓冲区的详细解释由以下博客的分析可以知道,内核的kfifo使用了很多技巧以实现其高效性。比如,通过限定写入的数据不能溢出和内存屏障实现在单进程写单进程读的情况下不使用锁。因为锁是使用在共享资源可能存在冲突的情况下。还用设置buffer缓冲区的大小为2的幂次方,以简化求模运算。通过使用unsignedint为kfifo的下标,可以不用考虑每次下标超过size时对下表进行取模运算赋值,这里使用到了无符号整数的溢出回

    2022年5月21日
    89

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号