PHP实例————万年历
和大家分享一个简易的万年历制作过程。
基本要求:
1.获取日期
2.获取给定日期是几号
3.获取给定日期是周几
4.获取月份天数
5.获取上一月和下一月
先贴一张效果图,样式做的比较丑,不喜勿喷。
php代码:
<?php //修改字符编码 header("content-type:text/html;charset=utf-8"); //外部样式链接 echo "<link rel='stylesheet' type='text/css' href='calendar.css'/>"; //获取当前年 $year=$_GET['Y']?$_GET['Y']:date('Y'); //获取当前月 $month=$_GET['m']?$_GET['m']:date('m'); //获取当月有多少天 $days=date('t',strtotime("{$year}-{$month}-1")); //当前是周几 $week=date('w',strtotime("{$year}-{$month}-1")); //内容居中显示 echo "<center>"; //打印表头 echo "<h1 id="year-年-month-月">{$year}年{$month}月</h1>"; //打印日期表格 echo "<table>"; //打印星期 echo "<tr>"; echo "<th>周日</th>"; echo "<th>周一</th>"; echo "<th>周二</th>"; echo "<th>周三</th>"; echo "<th>周四</th>"; echo "<th>周五</th>"; echo "<th>周六</th>"; echo "</tr>"; //打印几号 for($i=1-$week;$i<=$days;){ echo "<tr>"; for($j=0;$j<7;$j++){ if($i>$days||$i<1){ echo "<td> </td>"; }else{ echo "<td>$i</td>"; } $i++; } echo "</tr>"; } echo "</table>"; //上一月和下一月算法 if($month==1){ $prevyear=$year-1; $prevmonth=12; }else{ $prevyear=$year; $prevmonth=$month-1; } if($month==12){ $nextyear=$year+1; $nextmonth=1; }else{ $nextyear=$year; $nextmonth=$month+1; } //上一月和下一月的超链接 echo "<h2 id="上一月-下一月">上一月&下一月</h2>"; echo "</center>"; ?>
CSS代码:
table{ width:500px; height:300px; border:red dashed 1px; background:#ff00ff; } tr{ text-align:center; } td{ border:gray dotted 1px; } h1{ font-style:italic; font-size:50px; font-family:'宋体'; } h2 a{ font-style:normal; font-size:40px; font-family:'黑体'; color:purple; } /*组合选择器*/ tr,td,th{ font-size:20px; background:gray; }
说几点比较容易出错和用法巧妙的地方:
1.strtotime()中所计算的时间戳应该是完整的一个格式,把一个单独的年或月放进去是没有用的。
2.if语句中的条件里面,不是赋值,是等于!!!,要写 两个==。这地方太容易给忽略了。
3.原本打印的日期一直都是周日和一号对应。但是月份不同,这个日期和星期的对应关系也会有所改变,所以,在for循环中将$i-$week.就可以将当月的所有日期后退一定时间,达到日期与星期的完美对应。
4.在实现上一月和下一月的功能时,将几个变量作为参数带入,再配合一定的算法就能搞定了。具体的就看代码吧,文字也得再好也不如看两行代码效果好。
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前By尊渡假赌尊渡假赌尊渡假赌
刺客信條陰影:貝殼謎語解決方案
2 週前ByDDD
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

禪工作室 13.0.1
強大的PHP整合開發環境

SublimeText3 Linux新版
SublimeText3 Linux最新版

Atom編輯器mac版下載
最受歡迎的的開源編輯器

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器