代码如下:
<?php
class Calendar {
private $year //当前的年
private $month //当前的月
private $start_weekday //当月的第一天对应的是周几
private $days //当前月一共多少天
function __construct(){
$this->year=isset($_GET["year"]) ? $_GET["year"] : date("Y")
$this->month=isset($_GET["month"]) ? $_GET["month"] : date("m")
$this->start_weekday=date("w", mktime(0, 0, 0, $this->month, 1, $this->year))
$this->days=date("t", mktime(0, 0, 0, $this->month, 1, $this->year))
}
function out(){
echo '<table align="center">'
$this->chageDate("test.php")
$this->weeksList()
$this->daysList()
echo '</table>'
}
private function weeksList(){
$week=array('日','一','二','三','四','五','六')
echo '<tr>'
for($i=0 $i<count($week) $i++)
echo '<th class="fontb">'.$week[$i].'</th>'
echo '</tr>'
}
private function daysList(){
echo '<tr>'
//输出空格(当前一月第一天前面要空出来)
for($j=0 $j<$this->start_weekday $j++)
echo '<td> </td>'
for($k=1 $k<=$this->days $k++){
$j++
if($k==date('d'))
echo '<td class="fontb">'.$k.'</td>'
else
echo '<td>'.$k.'</td>'
if($j%7==0)
echo '</tr><tr>'
}
//后面几个空格
while($j%7!==0){
echo '<td> </td>'
$j++
}
echo '</tr>'
}
private function prevYear($year, $month){
$year=$year-1
if($year < 1970)
$year = 1970
return "year={$year}&month={$month}"
}
private function prevMonth($year, $month){
if($month == 1) {
$year = $year -1
if($year < 1970)
$year = 1970
$month=12
}else{
$month--
}
return "year={$year}&month={$month}"
}
private function nextYear($year, $month){
$year = $year + 1
if($year > 2038)
$year = 2038
return "year={$year}&month={$month}"
}
private function nextMonth($year, $month){
if($month==12){
$year++
if($year > 2100)
$year=2100
$month=1
}else{
$month++
}
return "year={$year}&month={$month}"
}
private function chageDate($url=""){
echo '<tr>'
echo '<td><a href="?'.$this->prevYear($this->year, $this->month).'">'.'<<'.'</a></td>'
echo '<td><a href="?'.$this->prevMonth($this->year, $this->month).'">'.'<'.'</a></td>'
echo '<td colspan="3">'
echo '<form>'
echo '<select name="year" onchange="window.location=''.$url.'?year='+this.options[selectedIndex].value+'&month='.$this->month.''">'
for($sy=1970 $sy <= 2100 $sy++){
$selected = ($sy==$this->year) ? "selected" : ""
echo '<option '.$selected.' value="'.$sy.'">'.$sy.'</option>'
}
echo '</select>'
echo '<select name="month" onchange="window.location=''.$url.'?year='.$this->year.'&month='+this.options[selectedIndex].value">'
for($sm=1 $sm<=12 $sm++){
$selected1 = ($sm==$this->month) ? "selected" : ""
echo '<option '.$selected1.' value="'.$sm.'">'.$sm.'</option>'
}
echo '</select>'
echo '</form>'
echo '</td>'
echo '<td><a href="?'.$this->nextYear($this->year, $this->month).'">'.'>>'.'</a></td>'
echo '<td><a href="?'.$this->nextMonth($this->year, $this->month).'">'.'>'.'</a></td>'
echo '</tr>'
}
}
?>
test.php
代码如下:
<style>
table {
border:1px solid #050
}
.fontb {
color:white
background:blue
}
th {
width:30px
}
td,th {
height:30px
text-align:center
}
form {
margin:0px
padding:0px
}
</style>
<?php
include "calendar.class.php"
$calendar=new Calendar
$calendar->out()
?>
进入php源程序目录中的ext目录中,这里存放着各个扩展模块的源代码,选择你需要的模块,比如curl模块:cd curl执行phpize生成编译文件!phpize在PHP安装目录的bin目录/usr/local/php5/bin/phpize运行时,
可能会报错:Cannot find autoconf. Please check your autoconf installation andthe $PHP_AUTOCONFenvironment variable is set correctly and then rerun thisscript.,需要安装autoconf:yum install autoconf(RedHat或者CentOS)、apt-get installautoconf(Ubuntu Linux)!
执行/usr/local/php5/bin/php -v这个命令时,php会去检查配置文件是否正确,
如果有配置错误,这里会报错,可以根据错误信息去排查!
<?php//SKY8G提供
function cal_days_in_year($year){
$days=0
for($month=1$month<=12$month++){
$days = $days + cal_days_in_month(CAL_GREGORIAN,$month,$year)
}
return $days
}
//闰年
echo "这是闰年一年有:".cal_days_in_year(2000)."天"
echo "\n"
//平年
echo "这是平年一年有:".cal_days_in_year(1999)."天"
echo "\n"
//2019年
echo "今年2019年有:".cal_days_in_year(date('Y',time()))."天"
echo "\n"
//接下来我们是用php的内置函数cal_days_in_month()
$d=cal_days_in_month(CAL_GREGORIAN,2,2010)
echo "2010 年平年 2 月有 $d 天。\n"
$d=cal_days_in_month(CAL_GREGORIAN,2,2000)
echo "2000 年闰年 2 月有 $d 天。"
echo "\n"
$d=cal_days_in_month(CAL_GREGORIAN,4,2010)
echo "2010 年平年 4 月有 $d 天。\n"
$d=cal_days_in_month(CAL_GREGORIAN,4,2000)
echo "2000 年闰年 4 月有 $d 天。"
echo "\n"
$d=cal_days_in_month(CAL_GREGORIAN,8,2010)
echo "2010 年平年 8 月有 $d 天。\n"
$d=cal_days_in_month(CAL_GREGORIAN,8,2000)
echo "2000 年闰年 8 月有 $d 天。"
//详情如果想了解详情去sky8g网观看,希望对你有帮助!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)