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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java获取Date时间的各种方式汇总「建议收藏」

    java获取Date时间的各种方式汇总「建议收藏」1. 常用的时间获取方式public class DateUtils {   /**   * 获取时间戳   * 输出结果:1438692801766   */  @Test  public void getTimeStamp() {    Date date = new Date();    long times = date.getTime();    System.o…

    2022年6月13日
    24
  • 进程管理之进程调度「建议收藏」

    进程管理之进程调度「建议收藏」文章目录一、进程调度基础1、进程调度定义2、进程调度目标二、基本调度算法1、先来先服务算法2、时间片轮转算法3、短任务优先算法4、优先级调度算法5、混合调度算法  在多进程并发的环境里,虽然从概念上看,有多个进程在同时执行,但在单个CPU下,在任何时刻只能有一个进程处于执行状态,而其他进程则处于非执行状态。那么问题来了,我们是如何确定在任意时刻到底由哪个进程执行,哪些不执行呢?这就涉及到进程管理…

    2022年9月29日
    0
  • php redis设置过期的键,redis 设置键过期时间[通俗易懂]

    php redis设置过期的键,redis 设置键过期时间[通俗易懂]键过期功能的相关命令设置生存时间:EXPIRE命令和PEXPIRE命令。设置过期时间:EXPIREAT命令和PEXPIREAT命令。查看剩余生存时间:TTL命令和PTTL命令。删除生存时间或过期时间:PERSIST命令。设置生存时间EXPIREkeyseconds将键key的生存时间设置为指定的秒数。PEXPIREkeymilliseconds将键ke…

    2022年9月26日
    0
  • matlab画图函数 增加横纵坐标名称_matlab函数绘图

    matlab画图函数 增加横纵坐标名称_matlab函数绘图1.多子图figuresubplot(2,1,1);plot(data1);title(‘原始信号’);%标题subplot(2,1,2);plot(data1_rebuild);title(‘去噪声后信号’);2.多条信号figureplot(data1,’-r’);holdonplot(data1_rebuild,’-b’);legend(‘原始信号’,’去噪后信…

    2022年9月19日
    0
  • Anaconda 安装python第三方库的各类方法

    Anaconda 安装python第三方库的各类方法Anaconda安装python第三方库的各类方法之前的文章讲了有关anaconda的一些介绍和安装,第三方源也介绍了,本文介绍Anaconda安装python第三发库的各类方法第一种:1.双击打开AnacondaNavigator,选择Environments界面2.然后选择Notinstall,在右边搜索框进行搜索需要的库包名字,选择需要的库包,选择apply进行安装第二种1.双击打开AnacondaPrompt(Anaconda3)(打开系统菜单找到anaconda就能看到)

    2022年10月14日
    0
  • 先验概率和后验概率的定义是什么_先验和后验什么意思

    先验概率和后验概率的定义是什么_先验和后验什么意思话不多说,我因为在学习朴素贝叶斯的时候有点分不清楚先验概率、后验概率,所以就网上找了一些资料,大家各有各的理解,但感觉还是不太能从定义上区分,所以就有了下面这张图:图里面说的还是比较清晰的,大家有不理解的地方可以沟通交流嘛。…

    2022年10月18日
    0

发表回复

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

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