本文的示例介绍了php类实现阴历到阴历的转换,供大家参考:

复制代码代码如下:< PHP

一类公历阴历的阳历

班级日历

{

太阴月日

VaR everycmonth美元=阵列(

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=>array (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 =阵列(美元零

VaR mtwelve美元=阵列(空

Pat(蛇)

VaR mmonth美元=阵列(飞跃

七

VaR mday美元=阵列(空

十一

21

分配给初始值

天干地支。

var十= 0;

var十二= 0;

功能mypub(cyear美元美元美元,cmonth,cday)

{

总金额= 11美元;总天数为1900年12月21日日历。

$ m = 0; / /农历的总天数

为($ Y = 1901;Y元< cyear美元;Y元+ +)

{

总计= 365;

如果($ = 4 = 0)总+ +;

}

加上一年中的几个月

开关($ cmonth){

案例12:

总计= 30;

案例11:

总计= 31;

案例10:

总计= 30;

案例9:

总计= 31;

案例8:

总计= 31;

案例7:

总计= 30;

案例6:

总计= 31;

案例5:

总计= 30;

案例4:

总计= 31;

案例3:

总计= 28;

案例2:

总计= 31;

}



如果一年是闰年/增加一天

如果($ cyear % 4 = = 0美元和cmonth > 2)

{

总计+ +;

}

总cday-1美元美元+ =;

/ /使用阴历日累天加来确定是否比公历

对于($ = 0;$ j = 120;$ + +)

{

$ I = 1;

($ i = 1;$ i = 13;$ + +)

{

m =美元美元-> everycmonth { } { }美元$ J;

如果($ m>=总美元)

{

$标志=1;

打破;

}

}

如果($ = 1)中断;

}

返回的数组(M= > J,D= > $我,T= >总美元,= > $ m);

}

函数CAL(年、月、日)

{

$Par=$this->MyPub ($Year, $Month, $Day);



MD =美元美元-> everycmonth { $面值{m} } { $面值{D} } -($面值{n} $面值{T});

$ = $(5)% 7;

如果(美元-> everycmonth { $面值{m} } { 0 } <> 0美元-> everycmonth { $面值{m} } { 0 } < $面值{D)

{

1美元;

其他{ }

$ $ =;

}

如果(美元面值{D} = =美元-> everycmonth { $面值{D} } { 0 } + 1美元-> everycmonth { $面值{D} } { 0 } > 0)

{

cmonth美元=美元-> mmonth { 0 }。美元-> mmonth { $毫米}; / /月

其他{ }

cmonth美元=美元-> mmonth { $毫米}。美元-> mmonth { 13 };

}

返回的数组(年= >美元-> mten {美元-> everycmonth { $面值{m} } { 14 } },{ mtwelve美元->美元-> everycmonth { $面值{m} } { 15 } },

月= > cmonth美元,

天= >美元-> mday { $ MD },

周=一周;

}

}



新日历;

今年美元美元=测试-> CAL(2004,2,20);

$年}。年。$ {月}。周。$ {周};

>

希望本文能对大家的PHP程序设计有所帮助。