目次
PHP カスタマイズカレンダー
ホームページ バックエンド開発 PHPチュートリアル PHP自作カレンダー_PHPチュートリアル

PHP自作カレンダー_PHPチュートリアル

Jul 13, 2016 am 10:18 AM
カレンダー

PHP カスタマイズカレンダー

1. 計算データ
1. 新しいカレンダークラスを作成します
2. 2 つのドロップダウン ボックスのデータを初期化します (年と月)。
3.検索する年と月を初期化します
4. CSSと日数を含むカレンダーの毎日のデータ情報を計算します
コードをコピー
require_once 'calendar.php';
$util = 新しいカレンダー();
$years = array(2012, 2013, 2014, 2015, 2016);//カスタマイズされた年の選択
$months = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12);//月の配列
//投稿の年データを取得します
if(empty($_POST['ddlyear'])) {
$year = date('Y');
}else {
$year = $_POST['ddlyear'];
}
//投稿の月次データを取得します
if(empty($_POST['ddlMonth'])) {
$month = date('n');
}else {
$month = $_POST['ddlMonth'];
}
$calendar = $util->threshold($year, $month);//各境界値を取得します
$caculate = $util->caculate($calendar);// カレンダーの日数とスタイルを計算します
$draws = $util->draw($caculate);//テーブルを描画し、テーブルに tr と td を設定します
?>
コードをコピー
2.HTML表示
1. 休日の背景色が異なり、現在の検索年月以外の日の文字色も異なります
2. div の年と月のドロップダウン ボックスを初期化し、現在検索する年と月を選択します
3. データが計算され、どの td がどの tr に属するかがわかります。テーブルを印刷するだけです。
コードをコピー
<名前="ddl年"を選択>
" データ?>
<表の幅="100%" セル間隔="0" クラス="表カレンダー">
~ ~ ~ ~ ~ ~ ~
~ ~
コードをコピー
3. カレンダークラス
1. 閾値メソッド、カレンダーの各境界値を生成します
1) 今月の合計日数を計算します
2) 今月の初日と末日、それぞれが何曜日であるかを計算します
3) カレンダーの最初の日付と最後の日付を計算します
コードをコピー
/**
* @deprecated カレンダーの各境界値を生成します
* @param string $year
* @param string $month
* @return 配列
*/
関数のしきい値($year, $month) {
$firstDay = mktime(0, 0, 0, $month, 1, $year);
$lastDay = strtotime('+1 か月 -1 日', $firstDay);
//日数を取得します
$days = date("t", $firstDay);
// 最初の日が何曜日であるかを取得します
$firstDayOfWeek = date("N", $firstDay);
//最終日が何曜日であるかを取得します
$lastDayOfWeek = date('N', $lastDay);
//前月の末日
$lastMonthDate = strtotime('-1 日', $firstDay);
$lastMonthOfLastDay = date('d', $lastMonthDate);
//翌月の初日
$nextMonthDate = strtotime('+1 day', $lastDay);
$nextMonthOfFirstDay = strtotime('+1 day', $lastDay);
// カレンダーの最初の日付
if($firstDayOfWeek == 7)
$firstDate = $firstDay;
その他
$firstDate = strtotime('-'. $firstDayOfWeek .' day', $firstDay);
//カレンダーの最後の日付
if($lastDayOfWeek == 6)
$lastDate = $lastDay;
elseif($lastDayOfWeek == 7)
$lastDate = strtotime('+6 day', $lastDay);
その他
$lastDate = strtotime('+'.(6-$lastDayOfWeek).' day', $lastDay);
配列を返す(
'days' => $days,
'firstDayOfWeek' => $firstDayOfWeek,
'lastDayOfWeek' => $lastDayOfWeek,
'lastMonthOfLastDay' => $lastMonthOfLastDay,
'firstDate' => $firstDate,
'lastDate' => $lastDate,
'年' => $年,
'月' => $month
);
}
コードをコピー
2. 計算方法、カレンダーの日数とスタイルを計算します
1) 先月の日数を計算します。月の最初の日が日曜日ではない場合は、先月の末日を基準に計算する必要があります。
2) 今月の日をトラバースし、休日の場合は特別な CSS スタイルを追加します
3) 日曜日、土曜日、営業日の3つの状況に分けて翌月の日数を計算します
コードをコピー
/**
* @author Pwstrick
* @param array 閾値法で計算した$calendarデータ
* @deprecated カレンダーの日数とスタイルを計算します
*/
関数 caculate($calendar) {
$days = $calendar['days'];
$firstDayOfWeek = $calendar['firstDayOfWeek'];// 今月の週の最初の日
$lastDayOfWeek = $calendar['lastDayOfWeek'];//今月の最終日の週
$lastMonthOfLastDay = $calendar['lastMonthOfLastDay'];// 前月の最終日
$year = $calendar['year'];
$month = $calendar['month'];
$dates = array();
if($firstDayOfWeek != 7) {
$lastDays = array();
$current = $lastMonthOfLastDay;// 前月の最終日
for ($i = 0; $i
array_push($lastDays, $current);// 前月の日数を加算します
$current--;
}
$lastDays = array_reverse($lastDays);// 逆順
foreach ($lastDays as $index => $day) {
array_push($dates, array('day' => $day, 'tdclass' => ($index ==0 ?'rest':''), 'pclass' => 'outter'));
}
}
//今月のカレンダー情報
for ($i = 1; $i
$isRest = $this->_checkIsRest($year, $month, $i);
// 休息日かどうかを判断する
array_push($dates, array('day' => $i, 'tdclass' => ($isRest ?'rest':''), 'pclass' => ''));
}
//来月のカレンダー情報
if($lastDayOfWeek == 7) {//最終日は日曜日です
$length = 6;
}
elseif($lastDayOfWeek == 6) {//最終日は土曜日です
$length = 0;
}else {
$length = 6 - $lastDayOfWeek;
}
for ($i = 1; $i array_push($dates, array('day' => $i, 'tdclass' => ($i==$length ?'rest':''), 'pclass' => 'outter')) ;
}
$dates を返します;
}
コードをコピー
3. Drawメソッド、テーブルを描画し、テーブルにtrとtdを設定します
1) tableタグを使ってデータを表示するので、ここでは各trの下にtdを配置する必要があります
2)$index % 7 == 0 テーブルの各行の最初の列を計算します
3)$index % 7 == 6 || $index == ($length-1) 各行の最後の列、または$caculateの最後のデータを計算します
4)各行の配列である$trに真ん中の行を追加します
コードをコピー
/**
* @author Pwstrick
* @param array $caculate caculate メソッドで計算されたデータ
* @deprecated テーブルを描画し、テーブルに tr と td を設定します
*/
関数draw($caculate) {
$tr = 配列();
$length = count($caculate);
$result = array();
foreach ($caculate as $index => $date) {
if($index % 7 == 0) {//最初の列
$tr = array($date);
}elseif($index % 7 == 6 || $index == ($length-1)) {
array_push($tr, $date);
array_push($result, $tr);//返されたデータに追加します
$tr = array();//配列リストをクリアします
}else {
array_push($tr, $date);
}
}
$result;
}

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/885672.html技術記事 PHP自作カレンダー 1. データを計算する 1. 新しい Calendar クラスを作成する 2. 年と月の 2 つのドロップダウン ボックスのデータを初期化する 3. 検索する年と月を初期化する 4. カレンダーを計算する...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

win11の二画面カレンダーがセカンドモニターに存在しない場合はどうすればよいですか? win11の二画面カレンダーがセカンドモニターに存在しない場合はどうすればよいですか? Jun 12, 2024 pm 05:47 PM

Windows 11 で毎日の仕事やルーチンを整理するための重要なツールは、タスク バーの時刻と日付の表示です。この機能は通常、画面の右下隅にあり、時刻と日付に即座にアクセスできます。この領域をクリックするとカレンダーが表示され、別のアプリを開かなくても今後の予定や日付を簡単に確認できます。ただし、複数のモニターを使用している場合は、この機能で問題が発生する可能性があります。具体的には、接続されているすべてのモニターのタスクバーに時計と日付が表示されますが、2 番目のモニターで日付と時刻をクリックしてカレンダーを表示する機能は利用できません。現時点では、この機能はメイン ディスプレイでのみ機能します。Windows 10 とは異なり、任意のディスプレイをクリックすると機能します。

Win10のカレンダーには週番号が表示される Win10のカレンダーには週番号が表示される Jan 04, 2024 am 08:41 AM

多くのユーザーは、Win10 カレンダー ツールを使用して現在の日数を確認したいと考えていますが、カレンダーにはこの機能が自動的に表示されません。実際には、簡単な設定を行うだけで、今年の累積週数が表示されます ~ Win10 カレンダー表示週 デジタル設定チュートリアル: 1. デスクトップの左下隅にある検索にカレンダーと入力し、アプリケーションを開きます。 2. 開いたカレンダー アプリケーションで、左下隅の「歯車」アイコンをクリックすると、右側に設定がポップアップ表示されます。「カレンダー設定」をクリックします。 3. 開いたカレンダー設定で続行し、「週番号」を見つけます。そして週を変更します。数値オプションを「年の最初の日」に調整するだけです。 4. 上記の設定が完了したら、「週」をクリックすると、今年の週番号の統計が表示されます。

Outlook カレンダーが同期していません。 Outlook カレンダーが同期していません。 Mar 26, 2024 am 09:36 AM

Outlook カレンダーが Google カレンダー、Teams、iPhone、Android、Zoom、Office アカウントなどと同期できない場合は、次の手順に従って問題を解決してください。カレンダー アプリは、Google カレンダー、iPhone、Android、Microsoft Office 365 などの他のカレンダー サービスと接続でき、自動的に同期できるので非常に便利です。しかし、OutlookCalendar がサードパーティの予定表と同期できない場合はどうすればよいでしょうか? 考えられる理由としては、同期に間違った予定表を選択した、予定表が表示されない、バックグラウンド アプリケーションの干渉、古い Outlook アプリケーションまたは予定表アプリケーションなどが考えられます。 Outlook カレンダーが同期しない場合の暫定的な修正

Win10 でカレンダー イベントのポップアップ リマインダーが表示されない場合はどうすればよいですか? Win10 でカレンダー イベントのリマインダーが表示されなくなった場合はどうすればよいですか? Win10 でカレンダー イベントのポップアップ リマインダーが表示されない場合はどうすればよいですか? Win10 でカレンダー イベントのリマインダーが表示されなくなった場合はどうすればよいですか? Jun 09, 2024 pm 02:52 PM

カレンダーは、ユーザーがスケジュールを記録したり、リマインダーを設定したりするのに役立ちますが、多くのユーザーは、Windows 10 でカレンダー イベントのリマインダーが表示されない場合はどうすればよいかを尋ねています。ユーザーはまず Windows の更新ステータスを確認するか、Windows App Store のキャッシュをクリアして操作を実行できます。このサイトでは、Win10 カレンダーのイベントリマインダーが表示されない問題の分析をユーザーに丁寧に紹介します。カレンダーイベントを追加するには、システムメニューの「カレンダー」プログラムをクリックします。カレンダー内の日付をマウスの左ボタンでクリックします。編集画面でイベント名とリマインダー時刻を入力し、「保存」ボタンをクリックするとイベントが追加されます。 Win10のカレンダーイベントリマインダーが表示されない問題を解決する

生理不順のない購入局:カレンダーと誕生日シリーズの周辺機器が新登場! 生理不順のない購入局:カレンダーと誕生日シリーズの周辺機器が新登場! Feb 29, 2024 pm 12:00 PM

「失われた購買オフィスは 2 月 28 日午前 11 時に更新されることが確認されています。プレイヤーは淘宝網にアクセスして購買オフィスを検索し、購入するストア カテゴリを選択できます。今回は MBCC 誕生日パーティー シリーズと 2024 卓上カレンダー周辺機器をお届けします。」ぜひ、今回は商品詳細をご覧ください。生理不順のない購入局:カレンダーと誕生日シリーズの周辺機器が新登場!遺失物調達室に新たな出来事が! - 先行販売時間: 2024年2月28日 11:00 - 2024年3月13日 23:59 購入アドレス: 淘宝網検索[予期せぬ紛失購入局] [ストア]カテゴリを選択して購入ストアに入り、周辺機器の紹介: 新しい周辺機器今回発売されるのはMBCCバースデーパーティーシリーズと2024年卓上カレンダー周辺機器です 詳細は長い画像をクリックしてください。購買オフィスが新しい周辺機器を導入 - MBCC の学生

win10で右下のカレンダーが開けません win10で右下のカレンダーが開けません Dec 26, 2023 pm 05:07 PM

win0 システムを使用している友人の中には、win10 カレンダーが開けないという状況に遭遇した人もいます。これは単なるコンピュータの通常の不具合です。win10 システムのプライバシー設定で解決できます。今日、編集者が詳細な解決策を提供しました。以下、見てみましょう。 win10の右下でカレンダーが開けない問題の解決策 1. win10システムで「スタート」をクリック → 上のプログラムリストボタンをクリック → ピンイン(中国語) Rを検索 → カレンダー 2. 初めて使用する場合, 新しいイベントが開かない場合があります (マウスを傾けると紺色が選択されなくなります), プライバシーに設定できます。デスクトップの左上隅にある 3 本のバーのアイコンをクリックすると、下部に設定メニューが表示されます; 3. ポップアップ インターフェイスで [プライバシー] をクリックします; 4. 以前に設定を使用したことがある場合は、左

win11の時間が常に不正確である問題を解決するにはどうすればよいですか? Win11 時間調整チュートリアルは、不正確な時間の問題をすぐに解決します win11の時間が常に不正確である問題を解決するにはどうすればよいですか? Win11 時間調整チュートリアルは、不正確な時間の問題をすぐに解決します Apr 19, 2024 am 09:31 AM

Windows 11 コンピューターで間違った時間が表示されると、多くの問題が発生し、インターネットに接続できなくなる可能性があります。実際、システムが間違った日付と時刻を表示すると、一部のアプリケーションを開いたり実行したりすることを拒否します。では、この問題をどうやって解決すればいいのでしょうか?以下を見てみましょう!方法 1: 1. まず、下のタスク バーの空白スペースを右クリックし、[タスク バーの設定] を選択します。 2. タスク バーの設定で右側にある taskbarcorneroverflow3 を見つけて、その上にある時計または時計を見つけて、オンにすることを選択します。方法 2: 1. キーボード ショートカット win+r を押して「ファイル名を指定して実行」を呼び出し、「regedit」と入力して Enter キーを押して確認します。 2. レジストリ エディタを開き、その中で HKEY を見つけます。

Windows 10 でカレンダーを設定する方法 Windows 10 でカレンダーを設定する方法 Dec 22, 2023 pm 12:21 PM

Win10 カレンダーは、カレンダー機能が組み込まれた非常に使いやすいソフトウェアです。このカレンダー機能を使用すると、いつでもどこでも日付を確認できます。必要に応じて、旧暦などを設定し、今週を確認することもできます。とても便利です~ win10 カレンダーの設定方法: 1. メニューインターフェイスで「カレンダー」を検索し、インターフェイスに入ります。アカウントをバインドするよう求められた場合は、「カレンダーに移動」をクリックしてスキップします。 2. 左下隅の「歯車」ボタンをクリックすると、右側に設定インターフェイスが自動的に表示され、設定できます。 Win10 カレンダー FAQ 中国語のカレンダーを設定する場所 カレンダーをデスクトップに配置して週番号を表示する方法 カレンダーのショートカット キー カレンダーメモを携帯電話に同期する 同期できない場合の対処方法 旧暦の表示方法 カレンダーのエクスポート方法カレンダー 個人設定 設定 日曜日

See all articles