太陽暦を太陰暦、グレゴリオ暦に変換するための PHP クラスの例 example_PHP チュートリアル
太陽暦から旧暦への変換を実装するPHPクラスインスタンス、太陽暦の例
この記事では、太陽暦から旧暦への変換を実装するPHPクラスについて説明します。参考のためにみんなで共有してください。詳細は以下の通りです
コードをコピーします コードは次のとおりです:
//PHP 太陽暦を太陰暦に変換するクラス
クラスカレンダー
{
//旧暦の各月の日数
var $everyCMonth=array(
0=>配列(8,0,0,0,0,0,0,0,0,0,0,0,29,30,7,1),
1=>配列(0,29,30,29,29,30,29,30,29,30,30,30,29,0,8,2),
2=>配列(0,30,29,30,29,29,30,29,30,29,30,30,30,0,9,3),
3=>配列(5,29,30,29,30,29,29,30,29,29,30,30,29,30,10,4),
4=>配列(0,30,30,29,30,29,29,30,29,29,30,30,29,0,1,5),
5=>配列(0,30,30,29,30,30,29,29,30,29,30,29,30,0,2,6),
6=>配列(4,29,30,30,29,30,29,30,29,30,29,30,29,30,3,7),
7=>配列(0,29,30,29,30,29,30,30,29,30,29,30,29,0,4,8),
8=>配列(0,30,29,29,30,30,29,30,29,30,30,29,30,0,5,9),
9=>配列(2,29,30,29,29,30,29,30,29,30,30,30,29,30,6,10),
10=>配列(0,29,30,29,29,30,29,30,29,30,30,30,29,0,7,11),
11=>配列(6,30,29,30,29,29,30,29,29,30,30,29,30,30,8,12),
12=>配列(0,30,29,30,29,29,30,29,29,30,30,29,30,0,9,1),
13=>配列(0,30,30,29,30,29,29,30,29,29,30,29,30,0,10,2),
14=>配列(5,30,30,29,30,29,30,29,30,29,30,29,29,30,1,3),
15=>配列(0,30,29,30,30,29,30,29,30,29,30,29,30,0,2,4),
16=>配列(0,29,30,29,30,29,30,30,29,30,29,30,29,0,3,5),
17=>配列(2,30,29,29,30,29,30,30,29,30,30,29,30,29,4,6),
18=>配列(0,30,29,29,30,29,30,29,30,30,29,30,30,0,5,7),
19=>配列(7,29,30,29,29,30,29,29,30,30,29,30,30,30,6,8),
20=>配列(0,29,30,29,29,30,29,29,30,30,29,30,30,0,7,9),
21=>配列(0,30,29,30,29,29,30,29,29,30,29,30,30,0,8,10),
22=>配列(5,30,29,30,30,29,29,30,29,29,30,29,30,30,9,11),
23=>配列(0,29,30,30,29,30,29,30,29,29,30,29,30,0,10,12),
24=>配列(0,29,30,30,29,30,30,29,30,29,30,29,29,0,1,1),
25=>配列(4,30,29,30,29,30,30,29,30,30,29,30,29,30,2,2),
26=>配列(0,29,29,30,29,30,29,30,30,29,30,30,29,0,3,3),
27=>配列(0,30,29,29,30,29,30,29,30,29,30,30,30,0,4,4),
28=>配列(2,29,30,29,29,30,29,29,30,29,30,30,30,30,5,5),
29=>配列(0,29,30,29,29,30,29,29,30,29,30,30,30,0,6,6),
30=>配列(6,29,30,30,29,29,30,29,29,30,29,30,30,29,7,7),
31=>配列(0,30,30,29,30,29,30,29,29,30,29,30,29,0,8,8),
32=>配列(0,30,30,30,29,30,29,30,29,29,30,29,30,0,9,9),
33=>配列(5,29,30,30,29,30,30,29,30,29,30,29,29,30,10,10),
34=>配列(0,29,30,29,30,30,29,30,29,30,30,29,30,0,1,11),
35=>配列(0,29,29,30,29,30,29,30,30,29,30,30,29,0,2,12),
36=>配列(3,30,29,29,30,29,29,30,30,29,30,30,30,29,3,1),
37=>配列(0,30,29,29,30,29,29,30,29,30,30,30,29,0,4,2),
38=>配列(7,30,30,29,29,30,29,29,30,29,30,30,29,30,5,3),
39=>配列(0,30,30,29,29,30,29,29,30,29,30,29,30,0,6,4),
40=>配列(0,30,30,29,30,29,30,29,29,30,29,30,29,0,7,5),
41=>配列(6,30,30,29,30,30,29,30,29,29,30,29,30,29,8,6),
42=>配列(0,30,29,30,30,29,30,29,30,29,30,29,30,0,9,7),
43=>配列(0,29,30,29,30,29,30,30,29,30,29,30,29,0,10,8),
44=>配列(4,30,29,30,29,30,29,30,29,30,30,29,30,30,1,9),
45=>配列(0,29,29,30,29,29,30,29,30,30,30,29,30,0,2,10),
46=>配列(0,30,29,29,30,29,29,30,29,30,30,29,30,0,3,11),
47=>配列(2,30,30,29,29,30,29,29,30,29,30,29,30,30,4,12),
48=>配列(0,30,29,30,29,30,29,29,30,29,30,29,30,0,5,1),
49=>配列(7,30,29,30,30,29,30,29,29,30,29,30,29,30,6,2),
50=>配列(0,29,30,30,29,30,30,29,29,30,29,30,29,0,7,3),
51=>配列(0,30,29,30,30,29,30,29,30,29,30,29,30,0,8,4),
52=>配列(5,29,30,29,30,29,30,29,30,30,29,30,29,30,9,5),
53=>配列(0,29,30,29,29,30,30,29,30,30,29,30,29,0,10,6),
54=>配列(0,30,29,30,29,29,30,29,30,30,29,30,30,0,1,7),
55=>配列(3,29,30,29,30,29,29,30,29,30,29,30,30,30,2,8),
56=>配列(0,29,30,29,30,29,29,30,29,30,29,30,30,0,3,9),
57=>配列(8,30,29,30,29,30,29,29,30,29,30,29,30,29,4,10),
58=>配列(0,30,30,30,29,30,29,29,30,29,30,29,30,0,5,11),
59=>配列(0,29,30,30,29,30,29,30,29,30,29,30,29,0,6,12),
60=>配列(6,30,29,30,29,30,30,29,30,29,30,29,30,29,7,1),
61=>配列(0,30,29,30,29,30,29,30,30,29,30,29,30,0,8,2),
62=>配列(0,29,30,29,29,30,29,30,30,29,30,30,29,0,9,3),
63=>配列(4,30,29,30,29,29,30,29,30,29,30,30,30,29,10,4),
64=>配列(0,30,29,30,29,29,30,29,30,29,30,30,30,0,1,5),
65=>配列(0,29,30,29,30,29,29,30,29,29,30,30,29,0,2,6),
66=>配列(3,30,30,30,29,30,29,29,30,29,29,30,30,29,3,7),
67=>配列(0,30,30,29,30,30,29,29,30,29,30,29,30,0,4,8),
68=>配列(7,29,30,29,30,30,29,30,29,30,29,30,29,30,5,9),
69=>配列(0,29,30,29,30,29,30,30,29,30,29,30,29,0,6,10),
70=>配列(0,30,29,29,30,29,30,30,29,30,30,29,30,0,7,11),
71=>配列(5,29,30,29,29,30,29,30,29,30,30,30,29,30,8,12),
72=>配列(0,29,30,29,29,30,29,30,29,30,30,29,30,0,9,1),
73=>配列(0,30,29,30,29,29,30,29,29,30,30,29,30,0,10,2),
74=>配列(4,30,30,29,30,29,29,30,29,29,30,30,29,30,1,3),
75=>配列(0,30,30,29,30,29,29,30,29,29,30,29,30,0,2,4),
76=>配列(8,30,30,29,30,29,30,29,30,29,29,30,29,30,3,5),
77=>配列(0,30,29,30,30,29,30,29,30,29,30,29,29,0,4,6),
78=>配列(0,30,29,30,30,29,30,30,29,30,29,30,29,0,5,7),
79=>配列(6,30,29,29,30,29,30,30,29,30,30,29,30,29,6,8),
80=>配列(0,30,29,29,30,29,30,29,30,30,29,30,30,0,7,9),
81=>配列(0,29,30,29,29,30,29,29,30,30,29,30,30,0,8,10),
82=>配列(4,30,29,30,29,29,30,29,29,30,29,30,30,30,9,11),
83=>配列(0,30,29,30,29,29,30,29,29,30,29,30,30,0,10,12),
84=>配列(10,30,29,30,30,29,29,30,29,29,30,29,30,30,1,1),
85=>配列(0,29,30,30,29,30,29,30,29,29,30,29,30,0,2,2),
86=>配列(0,29,30,30,29,30,30,29,30,29,30,29,29,0,3,3),
87=>配列(6,30,29,30,29,30,30,29,30,30,29,30,29,29,4,4),
88=>配列(0,30,29,30,29,30,29,30,30,29,30,30,29,0,5,5),
89=>配列(0,30,29,29,30,29,29,30,30,29,30,30,30,0,6,6),
90=>配列(5,29,30,29,29,30,29,29,30,29,30,30,30,30,7,7),
91=>配列(0,29,30,29,29,30,29,29,30,29,30,30,30,0,8,8),
92=>配列(0,29,30,30,29,29,30,29,29,30,29,30,30,0,9,9),
93=>配列(3,29,30,30,29,30,29,30,29,29,30,29,30,29,10,10),
94=>配列(0,30,30,30,29,30,29,30,29,29,30,29,30,0,1,11),
95=>配列(8,29,30,30,29,30,29,30,30,29,29,30,29,30,2,12),
96=>配列(0,29,30,29,30,30,29,30,29,30,30,29,29,0,3,1),
97=>配列(0,30,29,30,29,30,29,30,30,29,30,30,29,0,4,2),
98=>配列(5,30,29,29,30,29,29,30,30,29,30,30,29,30,5,3),
99=>配列(0,30,29,29,30,29,29,30,29,30,30,30,29,0,6,4),
100=>配列(0,30,30,29,29,30,29,29,30,29,30,30,29,0,7,5),
101=>配列(4,30,30,29,30,29,30,29,29,30,29,30,29,30,8,6),
102=>配列(0,30,30,29,30,29,30,29,29,30,29,30,29,0,9,7),
103=>配列(0,30,30,29,30,30,29,30,29,29,30,29,30,0,10,8),
104=>配列(2,29,30,29,30,30,29,30,29,30,29,30,29,30,1,9),
105=>配列(0,29,30,29,30,29,30,30,29,30,29,30,29,0,2,10),
106=>配列(7,30,29,30,29,30,29,30,29,30,30,29,30,30,3,11),
107=>配列(0,29,29,30,29,29,30,29,30,30,30,29,30,0,4,12),
108=>配列(0,30,29,29,30,29,29,30,29,30,30,29,30,0,5,1),
109=>配列(5,30,30,29,29,30,29,29,30,29,30,29,30,30,6,2),
110=>配列(0,30,29,30,29,30,29,29,30,29,30,29,30,0,7,3),
111=>配列(0,30,29,30,30,29,30,29,29,30,29,30,29,0,8,4),
112=>配列(4,30,29,30,30,29,30,29,30,29,30,29,30,29,9,5),
113=>配列(0,30,29,30,29,30,30,29,30,29,30,29,30,0,10,6),
114=>配列(9,29,30,29,30,29,30,29,30,30,29,30,29,30,1,7),
115=>配列(0,29,30,29,29,30,29,30,30,30,29,30,29,0,2,8),
116=>配列(0,30,29,30,29,29,30,29,30,30,29,30,30,0,3,9),
117=>配列(6,29,30,29,30,29,29,30,29,30,29,30,30,30,4,10),
118=>配列(0,29,30,29,30,29,29,30,29,30,29,30,30,0,5,11),
119=>配列(0,30,29,30,29,30,29,29,30,29,29,30,30,0,6,12),
120=>配列(4,29,30,30,30,29,30,29,29,30,29,30,29,30,7,1)
);
//旧暦天幹
var $mten=array("null","A","B","C","D","W","Ji","G","Xin","Ren","癸") ; //太陰暦の地球の枝
var $mtwelve=array("null","子(ネズミ)","チョウ(牛)","陰(トラ)","卯(ウサギ)","陈(龙)",
「Si(蛇)」、「Wu(馬)」、「Wei(羊)」、「Shen(猿)」、「You(鶏)」、「Xu(犬)」、「Hai(豚)」)。 //旧暦の月
var $mmonth=array("闰","正","二","三","四","五","六",
「セブン」、「エイト」、「ナイン」、「テン」、「イレブン」、「十二」、「月」);
var $mday=array("null","1日目","2日目","3日目","4日目","5日目","6日目","7日目","8日目", 「旧暦9日」、「旧暦10日」
「イレブン」、「十二」、「十三」、「十四」、「十五」、「十六」、「十七」、「十八」、「十九」、「二十」、
「21」、「22」、「23」、「24」、「25」、「26」、「27」、「28」、「20」 -9", "30") ;//旧暦の日
//初期値を代入
//天の幹と地の枝
var $ten=0;
var $twelve=0;
関数 MyPub($c Year,$cMonth,$cDay)
{
$total=11;//1900 年 12 月 21 日までのグレゴリオ暦の合計日数
$mtotal=0;//旧暦の合計日数
($y=1901;$y
{
$total+=365;
if ($y%4==0) $total ++;
}
// 今年の数か月を追加します
スイッチ ($cMonth){
ケース 12:
$total+=30;
ケース 11:
$total+=31;
ケース 10:
$total+=30;
ケース9:
$total+=31;
ケース8:
$total+=31;
ケース7:
$total+=30;
ケース6:
$total+=31;
ケース5:
$total+=30;
ケース 4:
$total+=31;
ケース 3:
$total+=28;
ケース 2:
$total+=31;
}
// 閏年の場合は 1 日追加します
if ($c Year%4==0 and $cMonth>2)
{
$total++;
}
$total+=$cDay-1;
//太陰暦の累積日数を使用して、太陽暦の日数を超えているかどうかを判断します
for($j=0;$j
{
$i=1;
for($i=1;$i
{
$mtotal+=$this->毎CM月[$j][$i];
If ($mtotal>=$total)
{
$flag=1;
壊す;
}
}
If ($flag==1)break;
}
return array("m"=>$j,"d"=>$i, "t"=>$total, "n"=>$mtotal);
}
関数 Cal($年,$月,$日)
{
$Par=$this->MyPub($ Year,$Month,$Day);
$md=$this->everyCMonth[$Par["m"]][$Par["d"]]-($Par["n"]-$Par["t"]);
$week=($Par["t"]+5)%7;
if ($this->everyCMonth[$Par["m"]][0]<>0 and $this->everyCMonth[$Par["m"]][0]<$Par[" d"])
{
$mm=$Par["d"]-1;
}その他{
$mm=$Par["d"];
}
if ($Par["d"]==$this->everyCMonth[$Par["d"]][0]+1 および $this->everyCMonth[$Par["d"]][0] <>0)
{
$cMonth=$this->mmonth[0].$this->mmonth[$mm];//閏月
}その他{
$cMonth=$this->mmonth[$mm].$this->mmonth[13];
}
return array("year"=>$this->mten[$this->everyCMonth[$Par["m"]][14]].$this->mtwelve[$this->everyCMonth[ $Par["m"]][15]],
"月"=>$cMonth,
"日"=>$this->mday[$md]、
"週"=>$週);
}
}
/////電話
$test=新しいカレンダー;
$year=$test->Cal(2004,2,20);
echo $年["年"]."年".$年["月"].$年["日"]."週".$年["週"];
?>
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。
にコピーします。
ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。
