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.在实现上一月和下一月的功能时,将几个变量作为参数带入,再配合一定的算法就能搞定了。具体的就看代码吧,文字也得再好也不如看两行代码效果好。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

SublimeText3 中国語版
中国語版、とても使いやすい

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。
