目次
PHP实例————万年历
{$year}年{$month}月
上一月&下一月

PHP实例万年历

Jun 13, 2016 am 09:25 AM

PHP实例————万年历

和大家分享一个简易的万年历制作过程。

基本要求:

1.获取日期

2.获取给定日期是几号

3.获取给定日期是周几

4.获取月份天数

5.获取上一月和下一月

先贴一张效果图,样式做的比较丑,不喜勿喷。


php代码:

<?php

	//修改字符编码
	header("content-type:text/html;charset=utf-8");

	//外部样式链接
	echo "<link rel=&#39;stylesheet&#39; type=&#39;text/css&#39; href=&#39;calendar.css&#39;/>";

	//获取当前年
	$year=$_GET[&#39;Y&#39;]?$_GET[&#39;Y&#39;]:date(&#39;Y&#39;);

	//获取当前月
	$month=$_GET[&#39;m&#39;]?$_GET[&#39;m&#39;]:date(&#39;m&#39;);

	//获取当月有多少天
	$days=date(&#39;t&#39;,strtotime("{$year}-{$month}-1"));

	//当前是周几
	$week=date(&#39;w&#39;,strtotime("{$year}-{$month}-1"));

	//内容居中显示
	echo "<center>";

	//打印表头
	echo "<h1 id="year-年-month-月">{$year}年{$month}月</h1>";

	//打印日期表格
	echo "<table>";

	//打印星期
		echo "<tr>";
			echo "<th>周日</th>";
			echo "<th>周一</th>";
			echo "<th>周二</th>";
			echo "<th>周三</th>";
			echo "<th>周四</th>";
			echo "<th>周五</th>";
			echo "<th>周六</th>";
		echo "</tr>";

	//打印几号
	for($i=1-$week;$i<=$days;){
		echo "<tr>";
		for($j=0;$j<7;$j++){
			if($i>$days||$i<1){
				echo "<td>&#160;</td>";
			}else{
				echo "<td>$i</td>";
			}
			$i++;
		}
		echo "</tr>";
	}
	echo "</table>";

	//上一月和下一月算法
	if($month==1){
		$prevyear=$year-1;
		$prevmonth=12;
	}else{
		$prevyear=$year;
		$prevmonth=$month-1;
	}
	if($month==12){
		$nextyear=$year+1;
		$nextmonth=1;
	}else{
		$nextyear=$year;
		$nextmonth=$month+1;
	}

	//上一月和下一月的超链接
	echo "<h2 id="上一月-下一月">上一月&下一月</h2>";

	echo "</center>";
?>
ログイン後にコピー

CSS代码:

table{
	width:500px;
	height:300px;
	border:red dashed 1px;
	background:#ff00ff;
}
tr{
	text-align:center;
}
td{
	border:gray dotted 1px;
}
h1{
	font-style:italic;
	font-size:50px;
	font-family:&#39;宋体&#39;;
}
h2 a{
	font-style:normal;
	font-size:40px;
	font-family:&#39;黑体&#39;;
	color:purple;
}
/*组合选择器*/
tr,td,th{
	font-size:20px;
	background:gray;
}
ログイン後にコピー

说几点比较容易出错和用法巧妙的地方:

1.strtotime()中所计算的时间戳应该是完整的一个格式,把一个单独的年或月放进去是没有用的。

2.if语句中的条件里面,不是赋值,是等于!!!,要写 两个==。这地方太容易给忽略了。

3.原本打印的日期一直都是周日和一号对应。但是月份不同,这个日期和星期的对应关系也会有所改变,所以,在for循环中将$i-$week.就可以将当月的所有日期后退一定时间,达到日期与星期的完美对应。

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)

Python での SVM の例 Python での SVM の例 Jun 11, 2023 pm 08:42 PM

Python のサポート ベクター マシン (SVM) は、分類および回帰の問題を解決するために使用できる強力な教師あり学習アルゴリズムです。 SVM は、高次元データや非線形問題を処理する場合に優れたパフォーマンスを発揮し、データ マイニング、画像分類、テキスト分類、バイオインフォマティクスなどの分野で広く使用されています。この記事では、Python で分類に SVM を使用する例を紹介します。 scikit-learn ライブラリの SVM モデルを使用します。

VUE3 入門例: 簡単なビデオ プレーヤーの作成 VUE3 入門例: 簡単なビデオ プレーヤーの作成 Jun 15, 2023 pm 09:42 PM

新世代のフロントエンド フレームワークが出現し続ける中、VUE3 は高速で柔軟、そして使いやすいフロントエンド フレームワークとして愛されています。次に、VUE3 の基本を学び、簡単なビデオ プレーヤーを作成しましょう。 1. VUE3 をインストールする まず、VUE3 をローカルにインストールする必要があります。コマンド ライン ツールを開き、次のコマンドを実行します。 npminstallvue@next 次に、新しい HTML ファイルを作成し、VUE3 を導入します。 &lt;!doctypehtml&gt;

Golang でのポインター変換のベスト プラクティスの例を学ぶ Golang でのポインター変換のベスト プラクティスの例を学ぶ Feb 24, 2024 pm 03:51 PM

Golang は、さまざまなアプリケーションやサービスの開発に使用できる強力で効率的なプログラミング言語です。 Golang では、ポインタは非常に重要な概念であり、データをより柔軟かつ効率的に操作するのに役立ちます。ポインタ変換とは、異なる型間のポインタ操作のプロセスを指します。この記事では、具体的な例を使用して、Golang におけるポインタ変換のベスト プラクティスを学びます。 1. 基本概念 Golang では、各変数にはアドレスがあり、アドレスはメモリ内の変数の位置です。

Python での VAE アルゴリズムの例 Python での VAE アルゴリズムの例 Jun 11, 2023 pm 07:58 PM

VAE は生成モデルであり、正式名は variationalAutoencoder で、中国語に翻訳すると変分自動エンコーダとなります。これは、画像、音声、テキストなどの新しいデータを生成するために使用できる教師なし学習アルゴリズムです。通常のオートエンコーダと比較して、VAE はより柔軟で強力であり、より複雑で現実的なデータを生成できます。 Python は最も広く使用されているプログラミング言語の 1 つであり、深層学習の主要ツールの 1 つです。 Python には、優れた機械学習と奥深いものが数多くあります。

Oracle インスタンスの数とデータベースのパフォーマンスの関係 Oracle インスタンスの数とデータベースのパフォーマンスの関係 Mar 08, 2024 am 09:27 AM

Oracle インスタンスの数とデータベースのパフォーマンスの関係 Oracle データベースは、業界でよく知られたリレーショナル データベース管理システムの 1 つであり、エンタープライズ レベルのデータ ストレージと管理で広く使用されています。 Oracle データベースでは、インスタンスは非常に重要な概念です。インスタンスとは、メモリー内のOracleデータベースの実行環境を指します。各インスタンスには独立したメモリー構造とバックグラウンド・プロセスがあり、ユーザー・リクエストの処理とデータベース操作の管理に使用されます。インスタンスの数は、Oracle データベースのパフォーマンスと安定性に重要な影響を与えます。

Gin フレームワークでの検証コードの使用例 Gin フレームワークでの検証コードの使用例 Jun 23, 2023 am 08:10 AM

インターネットの普及に伴い、ログイン、登録、パスワードの取得などの操作に確認コードが必要なプロセスになりました。 Ginフレームワークでは、認証コード機能の実装が非常に簡単になりました。この記事では、サードパーティのライブラリを使用して、Gin フレームワークに検証コード機能を実装する方法を紹介し、読者の参考となるサンプル コードを提供します。 1. 依存ライブラリをインストールする 検証コードを使用する前に、サードパーティ ライブラリ goCaptcha をインストールする必要があります。 goCaptcha をインストールするには、goget コマンド $goget-agithub を使用できます。

PHP の簡単な Web クローラー開発例 PHP の簡単な Web クローラー開発例 Jun 13, 2023 pm 06:54 PM

インターネットの急速な発展に伴い、データは今日の情報化時代において最も重要なリソースの 1 つになりました。 Webクローラは、ネットワークデータを自動的に取得・処理する技術として、ますます注目と応用が進んでいます。この記事では、PHPを使って簡単なWebクローラーを開発し、ネットワークデータを自動取得する機能を実現する方法を紹介します。 1. Web クローラーの概要 Web クローラーとは、ネットワーク リソースを自動的に取得して処理する技術であり、主な動作プロセスはブラウザーの動作をシミュレートし、指定された URL アドレスに自動的にアクセスし、すべての情報を抽出することです。

Python での GAN アルゴリズムの例 Python での GAN アルゴリズムの例 Jun 10, 2023 am 09:53 AM

Generative Adversarial Networks (GAN、Generative Adversarial Networks) は、互いに競合する 2 つのニューラル ネットワークを通じて新しいデータを生成する深層学習アルゴリズムです。 GAN は、画像、音声、テキスト、その他の分野の生成タスクに広く使用されています。この記事では、Python を使用して手書き数字の画像を生成する GAN アルゴリズムの例を作成します。データセットの準備 MNIST データセットをトレーニング データセットとして使用します。 MNIST データセットには以下が含まれます

See all articles