很多站长朋友们都不太清楚php设计整体日历布局,今天小编就来给大家整理php设计整体日历布局,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php日历插件的制作方法,求思路 2、 PHP如何生成一个指定年份一整年的日历 3、 我想用PHP做那种日历的月,每个月单独一个,三个一排,排开,选不同的年份出来与那年相对应的12个月的日历 4、 如何用php做日历 5、 求一段PHP日历代码,要求一次性显示整年 6、 如何用PHP制作日历 php日历插件的制作方法,求思路<?php header("content-type: text/html; charset=utf-8"); ?>
<?php ?>
<table class="table table-striped table-hover">
<?php
//注:32位机器或者32位PHP版本可能只能计算到2038年之前的月份
//若没有GET方法传入参数,则使用服务器本地当前日期;否则使用传入的参数,方便跳转月份
$year=date("Y");
$month=date("n");
$alert="<div class='alert alert-warning'>输入的日期格式有误!</div>";
$alertYear="<div class='alert alert-warning'>无法计算1901年以前的日历!</div>";
if($_REQUEST) {
$year=$_REQUEST["year"];
$month=$_REQUEST["month"];
}
if(!in_array($month, array("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"))) { echo $alert; exit;}
if($year<1901){ echo $alertYear; exit;}
?>
<caption><h4><?php echo $year; ?>nbsp;年nbsp;<?php echo $month; ?>nbsp;月</h4></caption>
<?php
//计算当前日期,当月天数,获得星期数据,将默认星期天数字0改为7,方便处理循环
$today=date("j");
$days=date("t", strtotime("$year-$month-01"));
$week=date("w", strtotime("$year-$month-01"));
if($week==0) {$week=7;}
?>
<tr>
<th>一</th>
<th>二</th>
<th>三</th>
<th>四</th>
<th>五</th>
<th>六</th>
<th>日</th>
</tr>
<tr>
<?php
//插入空白无日期区域,循环次数为当前月第一天的星期数-1
for($space=1; $space<$week; $space++) {
echo "<td>-</td>";
}
//循环插入数据,当到达周日时换行输出;标记当前日期为红色
for($day=1; $day<=$days; $day++) {
if(($day+$week-1)%7===0) {
if($day==$today $year==date("Y") $month==date("n")) {
echo "<td style='background-color: pink;'>$day</td>";
echo "</tr>";
echo "<tr>";
}
echo "<td>$day</td>";
echo "</tr>";
echo "<tr>";
}else {
if($day==$today $year==date("Y") $month==date("n")) {
echo "<td style='background-color: pink;'>$day</td>";
} else {
echo "<td>$day</td>";
}
}
}
//尾部补足
$spacing=36-$days-$week<0?43-$days-$week:36-$days-$week;
for($footer=1; $footer<=$spacing; $footer++) {
echo "<td>-</td>";
}
?>
</tr>
</table>
我以前写的,你随意看看~~
PHP如何生成一个指定年份一整年的日历从你的描述看来,只需要知道指定年份的每个月的天数和每天对应的周次即可。
PHP中 Calendar 函数可以实现第一步:
int cal_days_in_month ( int $calendar , int $month , int $year )
剩下的就是写循环遍历所有月,按月生成日历了。
我想用PHP做那种日历的月,每个月单独一个,三个一排,排开,选不同的年份出来与那年相对应的12个月的日历这个你应该在网上下载一个时间插件。 像万年历一样的东西。 思路就是你先用 1-12这12个数循环。没三个一排。 再通过点击事件JS触发这个 插件。应该就可以实现啦。。
如何用php做日历具体代码如下:
<?php
$ch = curl_init();
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, '');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
echo $file_contents;
?>
PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。
它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,
执行效率比完全生成HTML标记的CGI要高许多;
PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
求一段PHP日历代码,要求一次性显示整年<?php
echo date("Y-m-d H:i:s");
?>
不知道你要得效果是不是这样子的呵呵
如何用PHP制作日历calendar.class.php
代码如下:
<?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设计整体日历布局的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php设计整体日历布局 php制作漂亮日历的详细内容...