<?php
$nextWeek = time() + (7 * 24 * 60 * 60); // 当前时间戳加上一周的秒数
echo '现在日期: ' . date('Y-m-d') . "<br>"; // 显示当前日期
echo '下周日期: ' . date('Y-m-d', $nextWeek) . "<br>"; // 显示下周日期
$time1 = mktime(0, 0, 0, 1, 1, 1981); // 取得1981年1月1日的Unix时间戳
$time2 = mktime(); // 取得当前时间的Unix时间戳
// 格式化时间戳,转换为常用日期格式
$oldtime = date("Y-m-d H:i:s", $time1);
$nowtime = date("Y-m-d H:i:s", $time2);
echo $oldtime . "<br>" . $nowtime . "<br>"; // 显示日期
// 计算时间差(以秒为单位)
$timeDiff = $time2 - $time1;
echo "时间差(秒): " . $timeDiff . "<br>";
echo "时间差(天): " . ($timeDiff / (60 * 60 * 24));
?>
<html>
<head>
<title>万年月历</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!-- Style -->
<style type="text/css">
table {
background-color: #B0C4DE;
}
tr {
background-color: White;
}
td {
font-size: 20pt;
font-family: 宋体;
color: #708090;
line-height: 140%;
}
</style>
</head>
<body>
<?php
// 检测用户是否提交数据
if (isset($_POST["year"])) {
// 使用用户提交的数据作为年数据
$year = $_POST["year"];
} else {
// 使用当前日期的年作为年数据
$year = date("Y");
}
if (isset($_POST["month"])) {
$month = $_POST["month"];
} else {
$month = date("m");
}
$date = 1; // 初始化月数据
$day = 1; // 初始化日数据
$off = 0;
// 检测年数据是否正确
if ($year < 1 || $year > 9999) {
// 如果年数据不正确,显示错误信息,并返回上一页
echo "<script>alert('年份应在1至9999之间.');history.go(-1);</script>";
exit();
}
if ($month < 1 || $month > 12) {
// 如果月数据不正确,显示错误信息,并返回上一页
echo "<script>alert('月份应在1至12月之间.');history.go(-1);</script>";
exit();
}
// 获取当月的天数
$daysInMonth = cal_days_in_month(CAL_GREGORIAN, $month, $year);
// 绘制万年历表头
?>
<form method="post" action="">
<table width="100%" border="1" cellspacing="0" cellpadding="2" bordercolorlight="#333333" bordercolordark="#FFFFFF" bgcolor="#CCCCFF">
<tr align="center" valign="middle">
<td colspan="7" bgcolor="#efefef">
<input type="text" name="year" size="4" maxlength="4" value="<?= $year ?>">
<input type="text" name="month" size="2" maxlength="2" value="<?= $month ?>">
<input type="submit" name="submit" align="absmiddle" border="0" value="跳转">
</td>
</tr>
<tr align="center" valign="middle">
<td bgcolor="#efefef">日</td>
<td>一</td>
<td>二</td>
<td>三</td>
<td>四</td>
<td>五</td>
<td bgcolor="#efefef">六</td>
</tr>
<tr>
<?php
// 获取当月第一天是星期几 (0=星期日, 1=星期一, ..., 6=星期六)
$firstDayOfMonth = date('w', mktime(0, 0, 0, $month, 1, $year));
// 填充当月第一天前的空白单元格
for ($i = 0; $i < $firstDayOfMonth; $i++) {
echo "<td> </td>";
}
// 初始化当前星期几的计数器
$currentDayOfWeek = $firstDayOfMonth;
// 构建万年历内容
for ($day = 1; $day <= $daysInMonth; $day++) {
// 设置日期颜色,如果是当前日期,使用红色进行标识
if ($day == date("d") && $year == date("Y") && $month == date("m")) {
$day_color = "red";
} else {
$day_color = "black";
}
// 输出日期单元格
echo "<td><font color=\"$day_color\">$day</font></td>";
// 递增星期几计数器
$currentDayOfWeek++;
// 当到达星期六(6)时,重起一行
if ($currentDayOfWeek > 6) {
echo "</tr><tr>";
$currentDayOfWeek = -1; // 下一次循环会+1变为0(星期日)
}
}
// 计算剩下数据,使用空表格填充
if ($currentDayOfWeek >= 0 && $currentDayOfWeek < 6) {
for ($i = $currentDayOfWeek; $i < 6; $i++) {
echo "<td> </td>";
}
}
?>
</tr>
</table>
</form>
</body>
</html>
|