仕事の必要により、2 つの時刻と日付のコントロールを見つけました。これには JS は必要なく、PHP で実装するだけで済みます。これは、興味のある友人が自分で使用できるようにするためです。 2番目は修正済みです
<?php
class Calendar
{
var $month;
var $year;
function __construct($year,$month)
{
$this->year=$year;
$this->month=$month;
}
function endday()
{
$daydate=date("d",mktime(0,0,0,$this->month,35,$this->year));
$endday=35-$daydate;
return $endday;
}
function oneday_week()
{
$oneday_week=date("w",mktime(0,0,0,$this->month,1,$this->year));
return $oneday_week;
}
function title_link()
{
if(!isset($this->month) && !isset($this->year))
{
$this->year = date("Y");
$this->month = date("m");
}
$lastmonth=$this->month-1;
$nextmonth=$this->month+1;
$lastyear=$this->year;
$nextyear=$this->year;
if($this->month <= 1)
{
$lastmonth=12;
$nextmonth=$this->month+1;
$lastyear=$this->year-1;
$nextyear=$this->year;
}
elseif ($this->month >= 12)
{
$lastmonth=$this->month-1;
$nextmonth=1;
$lastyear=$this->year;
$nextyear=$this->year+1;
}
$str ="
| ";
$str.="
".$this->year."--".$this->month." | ";
$str.="
| ";
return $str;
}
function Show_Calendar()
{
echo "
".$this->title_link()."
";
$weekarray=array("日","一","二","三","四","五","六");
for($k=0;$k<=6;$k++)
{
echo "".$weekarray[$k]." | ";
}
echo "
";
for($i=0;$i<=5;$i++)
{
echo "";
for($j=1;$j<=7;$j++)
{
$math=( $j - $this->oneday_week() ) + 7 * $i;
echo "";
if($math <= $this->endday() and $math>=1)
{
echo $math;
}
echo " | ";
echo "
";
}
エコー "テーブル>";
}
}
$calendar=新しいカレンダー($_GET['年'],$_GET['月']);
$calendar->month=$_GET['month']
$calendar->year=$_GET['year']
$calendar->Show_Calendar();
?>
例 2、コードは次のとおりです:
コードをコピーします
コードは次のとおりです:
header("コンテンツタイプ:text/html;charset=utf-8");
?>
if(!emptyempty($_GET)){
$year = isset($_GET['year'])?$_GET['year']:date('y');
$month = isset($_GET['month'])?$_GET['month']:date('m');
$day = isset($_GET['day'])?$_GET['day']:date('d');
}
if(空の空($年)){
$year = 日付('Y');
}
if(空の空($month)){
$month = date('m');
}
if(空の空($month)){
$days = 日付('d');
}
$start_weekday = date('w',mktime(0,0,0,$month,1,$year));
//エコー $start_weekday;
$days = date('t',mktime(0,0,0,$month,1,$year));
// $days をエコーします。
$week = array('日','一','二','三','四','五','六');
$i = 0;
$k = 1;
$j = 0;
echo '<テーブル>';
echo '
'.$year.'年' .$month.'月'.'
';
echo '
';
for($i = 0;$i
echo ''.$week[$i].' | ';
}
echo '
';
echo '
';
for($j = 0;$j
echo ''.$j.' | ';
}
while($k
if($k == $day){
echo '< span style="color:red">'.$k.' | ';
}その他{
echo ''.$k.'';
}
if(($j+1) % 7 == 0){
echo ' |
';
}
$j++;
$k++;
}
while($j % 7 != 0){
echo ''.$j.' | ';
$j++;
}
echo '
';
echo '
';
echo "".'<<'.' | ';
echo "".'<'.' | ';
echo '';
echo '<フォーム名 = "myform" メソッド = "GET">';
echo '';
echo '';
/*エコー '月';*/
/*echo '';*/
echo '';
エコー '';
echo "".'>>'.' | ';
echo "".'>'.' | ';
echo '
';
echo '
';
関数 last Year($year,$month){
$year = $year-1;
"年=$年&月=$月"を返します。
}
関数 lastMonth($year,$month){
if($month == 1){
$年 = $年 -1
$月 = 12;
}その他{
$月--;
}
"年=$年&月=$月"を返します
}
関数 nextyear($year,$month){
$年 = $年+1
"年=$年&月=$月"を返します
}
関数 nextMonth($year,$month){
if($month == 12){
$年 = $年 +1
;
$月 = 1;
}その他{
$月++
}
"年=$年&月=$月"を返します
}
?>