##############################

# #

# #

# 世纪万年历 #

# #

# #

##############################

#这是唯一的设置-请输入php文件的位置

$file="http://127.0.0.1/s2m.php";

###########################################

#作者: 沈潋(S&S Lab) #

#版权声明: #

#作者开放版权 #

#允许无条件地使用本文件的全部或部分 #

#可作任何修改或增补 #

#如果您使用了本文件,请给作者写一封E-mail #

#如有问题欢迎同作者联系 #

#谢谢您的关注! #

###########################################

#农历每月的天数

$everymonth=array(

0=>array(8,0,0,0,0,0,0,0,0,0,0,0,29,30,7,1),

1=>array(0,29,30,29,29,30,29,30,29,30,30,30,29,0,8,2),

2=>array(0,30,29,30,29,29,30,29,30,29,30,30,30,0,9,3),

3=>array(5,29,30,29,30,29,29,30,29,29,30,30,29,30,10,4),

4=>array(0,30,30,29,30,29,29,30,29,29,30,30,29,0,1,5),

5=>array(0,30,30,29,30,30,29,29,30,29,30,29,30,0,2,6),

6=>array(4,29,30,30,29,30,29,30,29,30,29,30,29,30,3,7),

7=>array(0,29,30,29,30,29,30,30,29,30,29,30,29,0,4,8),

8=>array(0,30,29,29,30,30,29,30,29,30,30,29,30,0,5,9),

9=>array(2,29,30,29,29,30,29,30,29,30,30,30,29,30,6,10),

10=>array(0,29,30,29,29,30,29,30,29,30,30,30,29,0,7,11),

11=>array(6,30,29,30,29,29,30,29,29,30,30,29,30,30,8,12),

12=>array(0,30,29,30,29,29,30,29,29,30,30,29,30,0,9,1),

13=>array(0,30,30,29,30,29,29,30,29,29,30,29,30,0,10,2),

14=>array(5,30,30,29,30,29,30,29,30,29,30,29,29,30,1,3),

15=>array(0,30,29,30,30,29,30,29,30,29,30,29,30,0,2,4),

16=>array(0,29,30,29,30,29,30,30,29,30,29,30,29,0,3,5),

17=>array(2,30,29,29,30,29,30,30,29,30,30,29,30,29,4,6),

18=>array(0,30,29,29,30,29,30,29,30,30,29,30,30,0,5,7),

19=>array(7,29,30,29,29,30,29,29,30,30,29,30,30,30,6,8),

20=>array(0,29,30,29,29,30,29,29,30,30,29,30,30,0,7,9),

21=>array(0,30,29,30,29,29,30,29,29,30,29,30,30,0,8,10),

22=>array(5,30,29,30,30,29,29,30,29,29,30,29,30,30,9,11),

23=>array(0,29,30,30,29,30,29,30,29,29,30,29,30,0,10,12),

24=>array(0,29,30,30,29,30,30,29,30,29,30,29,29,0,1,1),

25=>array(4,30,29,30,29,30,30,29,30,30,29,30,29,30,2,2),

26=>array(0,29,29,30,29,30,29,30,30,29,30,30,29,0,3,3),

27=>array(0,30,29,29,30,29,30,29,30,29,30,30,30,0,4,4),

28=>array(2,29,30,29,29,30,29,29,30,29,30,30,30,30,5,5),

29=>array(0,29,30,29,29,30,29,29,30,29,30,30,30,0,6,6),

30=>array(6,29,30,30,29,29,30,29,29,30,29,30,30,29,7,7),

31=>array(0,30,30,29,30,29,30,29,29,30,29,30,29,0,8,8),

32=>array(0,30,30,30,29,30,29,30,29,29,30,29,30,0,9,9),

33=>array(5,29,30,30,29,30,30,29,30,29,30,29,29,30,10,10),

34=>array(0,29,30,29,30,30,29,30,29,30,30,29,30,0,1,11),

35=>array(0,29,29,30,29,30,29,30,30,29,30,30,29,0,2,12),

36=>array(3,30,29,29,30,29,29,30,30,29,30,30,30,29,3,1),

37=>array(0,30,29,29,30,29,29,30,29,30,30,30,29,0,4,2),

38=>array(7,30,30,29,29,30,29,29,30,29,30,30,29,30,5,3),

39=>array(0,30,30,29,29,30,29,29,30,29,30,29,30,0,6,4),

40=>array(0,30,30,29,30,29,30,29,29,30,29,30,29,0,7,5),

41=>array(6,30,30,29,30,30,29,30,29,29,30,29,30,29,8,6),

42=>array(0,30,29,30,30,29,30,29,30,29,30,29,30,0,9,7),

43=>array(0,29,30,29,30,29,30,30,29,30,29,30,29,0,10,8),

44=>array(4,30,29,30,29,30,29,30,29,30,30,29,30,30,1,9),

45=>array(0,29,29,30,29,29,30,29,30,30,30,29,30,0,2,10),

46=>array(0,30,29,29,30,29,29,30,29,30,30,29,30,0,3,11),

47=>array(2,30,30,29,29,30,29,29,30,29,30,29,30,30,4,12),

48=>array(0,30,29,30,29,30,29,29,30,29,30,29,30,0,5,1),

49=>array(7,30,29,30,30,29,30,29,29,30,29,30,29,30,6,2),

50=>array(0,29,30,30,29,30,30,29,29,30,29,30,29,0,7,3),

51=>array(0,30,29,30,30,29,30,29,30,29,30,29,30,0,8,4),

52=>array(5,29,30,29,30,29,30,29,30,30,29,30,29,30,9,5),

53=>array(0,29,30,29,29,30,30,29,30,30,29,30,29,0,10,6),

54=>array(0,30,29,30,29,29,30,29,30,30,29,30,30,0,1,7),

55=>array(3,29,30,29,30,29,29,30,29,30,29,30,30,30,2,8),

56=>array(0,29,30,29,30,29,29,30,29,30,29,30,30,0,3,9),

57=>array(8,30,29,30,29,30,29,29,30,29,30,29,30,29,4,10),

58=>array(0,30,30,30,29,30,29,29,30,29,30,29,30,0,5,11),

59=>array(0,29,30,30,29,30,29,30,29,30,29,30,29,0,6,12),

60=>array(6,30,29,30,29,30,30,29,30,29,30,29,30,29,7,1),

61=>array(0,30,29,30,29,30,29,30,30,29,30,29,30,0,8,2),

62=>array(0,29,30,29,29,30,29,30,30,29,30,30,29,0,9,3),

63=>array(4,30,29,30,29,29,30,29,30,29,30,30,30,29,10,4),

64=>array(0,30,29,30,29,29,30,29,30,29,30,30,30,0,1,5),

65=>array(0,29,30,29,30,29,29,30,29,29,30,30,29,0,2,6),

66=>array(3,30,30,30,29,30,29,29,30,29,29,30,30,29,3,7),

67=>array(0,30,30,29,30,30,29,29,30,29,30,29,30,0,4,8),

68=>array(7,29,30,29,30,30,29,30,29,30,29,30,29,30,5,9),

69=>array(0,29,30,29,30,29,30,30,29,30,29,30,29,0,6,10),

70=>array(0,30,29,29,30,29,30,30,29,30,30,29,30,0,7,11),

71=>array(5,29,30,29,29,30,29,30,29,30,30,30,29,30,8,12),

72=>array(0,29,30,29,29,30,29,30,29,30,30,29,30,0,9,1),

73=>array(0,30,29,30,29,29,30,29,29,30,30,29,30,0,10,2),

74=>array(4,30,30,29,30,29,29,30,29,29,30,30,29,30,1,3),

75=>array(0,30,30,29,30,29,29,30,29,29,30,29,30,0,2,4),

76=>array(8,30,30,29,30,29,30,29,30,29,29,30,29,30,3,5),

77=>array(0,30,29,30,30,29,30,29,30,29,30,29,29,0,4,6),

78=>array(0,30,29,30,30,29,30,30,29,30,29,30,29,0,5,7),

79=>array(6,30,29,29,30,29,30,30,29,30,30,29,30,29,6,8),

80=>array(0,30,29,29,30,29,30,29,30,30,29,30,30,0,7,9),

81=>array(0,29,30,29,29,30,29,29,30,30,29,30,30,0,8,10),

82=>array(4,30,29,30,29,29,30,29,29,30,29,30,30,30,9,11),

83=>array(0,30,29,30,29,29,30,29,29,30,29,30,30,0,10,12),

84=>array(10,30,29,30,30,29,29,30,29,29,30,29,30,30,1,1),

85=>array(0,29,30,30,29,30,29,30,29,29,30,29,30,0,2,2),

86=>array(0,29,30,30,29,30,30,29,30,29,30,29,29,0,3,3),

87=>array(6,30,29,30,29,30,30,29,30,30,29,30,29,29,4,4),

88=>array(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=>array(5,29,30,29,29,30,29,29,30,29,30,30,30,30,7,7),

91=>array(0,29,30,29,29,30,29,29,30,29,30,30,30,0,8,8),

92=>array(0,29,30,30,29,29,30,29,29,30,29,30,30,0,9,9),

93=>array(3,29,30,30,29,30,29,30,29,29,30,29,30,29,10,10),

94=>array(0,30,30,30,29,30,29,30,29,29,30,29,30,0,1,11),

95=>array(8,29,30,30,29,30,29,30,30,29,29,30,29,30,2,12),

96=>array(0,29,30,29,30,30,29,30,29,30,30,29,29,0,3,1),

97=>array(0,30,29,30,29,30,29,30,30,29,30,30,29,0,4,2),

98=>array(5,30,29,29,30,29,29,30,30,29,30,30,29,30,5,3),

99=>array(0,30,29,29,30,29,29,30,29,30,30,30,29,0,6,4),

100=>array(0,30,30,29,29,30,29,29,30,29,30,30,29,0,7,5),

101=>array(4,30,30,29,30,29,30,29,29,30,29,30,29,30,8,6),

102=>array(0,30,30,29,30,29,30,29,29,30,29,30,29,0,9,7),

103=>array(0,30,30,29,30,30,29,30,29,29,30,29,30,0,10,8),

104=>array(2,29,30,29,30,30,29,30,29,30,29,30,29,30,1,9),

105=>array(0,29,30,29,30,29,30,30,29,30,29,30,29,0,2,10),

106=>array(7,30,29,30,29,30,29,30,29,30,30,29,30,30,3,11),

107=>array(0,29,29,30,29,29,30,29,30,30,30,29,30,0,4,12),

108=>array(0,30,29,29,30,29,29,30,29,30,30,29,30,0,5,1),

109=>array(5,30,30,29,29,30,29,29,30,29,30,29,30,30,6,2),

110=>array(0,30,29,30,29,30,29,29,30,29,30,29,30,0,7,3),

111=>array(0,30,29,30,30,29,30,29,29,30,29,30,29,0,8,4),

112=>array(4,30,29,30,30,29,30,29,30,29,30,29,30,29,9,5),

113=>array(0,30,29,30,29,30,30,29,30,29,30,29,30,0,10,6),

114=>array(9,29,30,29,30,29,30,29,30,30,29,30,29,30,1,7),

115=>array(0,29,30,29,29,30,29,30,30,30,29,30,29,0,2,8),

116=>array(0,30,29,30,29,29,30,29,30,30,29,30,30,0,3,9),

117=>array(6,29,30,29,30,29,29,30,29,30,29,30,30,30,4,10),

118=>array(0,29,30,29,30,29,29,30,29,30,29,30,30,0,5,11),

119=>array(0,30,29,30,29,30,29,29,30,29,29,30,30,0,6,12),

120=>array(4,29,30,30,30,29,30,29,29,30,29,30,29,30,7,1)

);

##############################

#农历天干

$mten=array("null","甲","乙","丙","丁","戊","己","庚","辛","壬","癸");

#农历地支

$mtwelve=array("null","子(鼠)","丑(牛)","寅(虎)","卯(兔)","辰(龙)",

"巳(蛇)","午(马)","未(羊)","申(猴)","酉(鸡)","戌(狗)","亥(猪)");

#农历月份

$mmonth=array("闰","正","二","三","四","五","六",

"七","八","九","十","十一","十二","月");

#农历日

$mday=array("null","初一","初二","初三","初四","初五","初六","初七","初八","初九","初十",

"十一","十二","十三","十四","十五","十六","十七","十八","十九","二十",

"廿一","廿二","廿三","廿四","廿五","廿六","廿七","廿八","廿九","三十");

##############################

#赋给初值

#天干地支

$ten=0;

$twelve=0;

#星期

$week=5;

#农历日

$md=0;

#农历月

$mm=0;

#阳历总天数 至1900年12月21日

$total=11;

#阴历总天数

$mtotal=0;

##############################

#获得当日日期

$today=getdate();

#如果没有输入,设为当日日期

if ($year=="" or $month=="" or ($year<1901 or $year>2020)

or ($month<1 or $month>12)){

$year=$today[year];

$month=$today[mon];

}

##############################

#计算到所求日期阳历的总天数-自1900年12月21日始

#先算年的和

for ($y=1901;$y

$total+=365;

if ($y%4==0) $total ++;

}

#再加当年的几个月

switch ($month){

case 12:

$total+=30;

case 11:

$total+=31;

case 10:

$total+=30;

case 9:

$total+=31;

case 8:

$total+=31;

case 7:

$total+=30;

case 6:

$total+=31;

case 5:

$total+=30;

case 4:

$total+=31;

case 3:

$total+=28;

case 2:

$total+=31;

}

#如果当年是闰年还要加一天

if ($year%4==0 and $month>2){

$total++;

}

#顺便算出当月1日星期几

$week=($total+$week)%7;

##############################

#用农历的天数累加来判断是否超过阳历的天数

$flag1=0;#判断跳出循环的条件

$j=0;

while ($j<=120){

$i=1;

while ($i<=13){

$mtotal+=$everymonth[$j][$i];

if ($mtotal>=$total){

$flag1=1;

break;

}

$i++;

}

if ($flag1==1) break;

$j++;

}

##############################

#计算所求月份1号的农历日期

$md=$everymonth[$j][$i]-($mtotal-$total);

#月头空开的天数

$k=$week;

#是否跨越一年

switch ($month){

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

$dd=31;

break;

case 4:

case 6:

case 9:

case 11:

$dd=30;

break;

case 2:

if ($year%4==0){

$dd=29;

}else{

$dd=28;

}

break;

}

#是否跨越一年

$ty=0;

if ((($everymonth[$j][0]<>0 and $i==13) or ($everymonth[$j][0]==0 and $i==12))

and $mtotal-$total

?>

S2M

#打印年月抬头

echo "

".$year."年".$month."月

n";

if ($ty==0){

echo "

".$mten[$everymonth[$j][14]].$mtwelve[$everymonth[$j][15]]."年

";

}else{

echo "

".$mten[$everymonth[$j][14]].$mtwelve[$everymonth[$j][15]]."/".$mten[$everymonth[$j+1][14]].$mtwelve[$everymonth[$j+1][15]]."年

";

}

?>

星期日 星期一 星期二 星期三 星期四 星期五 星期六

$day=1;

$line=0;

while ($day<=$dd){

echo "

n";

for ($s=0;$s<=6;$s++){

if ($k<>0 or $day>$dd){

#空格

echo "

 n";

$k--;

}else{

#设置字符颜色

switch ($s){

case 1:

case 2:

case 3:

case 4:

case 5:

$color="#000000";

break;

case 0:

$color="#FF0000";

break;

case 6:

$color="#008000";

break;

}

#生成中文农历

if ($md==1){#1日打印月份

if ($everymonth[$j][0]<>0 and $everymonth[$j][0]

$mm=$i-1;

}else{

$mm=$i;

}

if ($i==$everymonth[$j][0]+1 and $everymonth[$j][0]<>0) $chi=$mmonth[0].$mmonth[$mm];#闰月

else $chi=$mmonth[$mm].$mmonth[13];

}else{

$chi=$mday[$md];

}

echo "

$day $chin";

#下一天

$day++;

$md++;

if ($md>$everymonth[$j][$i]){

$md=1;

$i++;

}

if (($i>12 and $everymonth[$j][0]==0) or ($i>13 and $everymonth[$j][0]<>0)){

$i=1;

$j++;

}

}

}

echo "

n";

$line++;

}

?>

#补足空行

for ($l=1;$l<=(6-$line);$l++){

echo "

echo "

n";

echo "

an";

echo "

n";

echo "

n";

}

#打印上一月,下一月

$ly=$ny=$year;

$last=$month-1;

if ($last==0){

$last=12;

$ly--;

}

$next=$month+1;

if ($next==13){

$next=1;

$ny++;

}

if ($ly>=1901)

echo "

< n";

else

echo "

";

if ($ny<=2020)

echo "下一个月>>

n";

?>

echo "

n";

?>

年份:

2020

2019

2018

2017

2016

2015

2014

2013

2012

2011

2010

2009

2008

2007

2006

2005

2004

2003

2002

2001

2000

1999

1998

1997

1996

1995

1994

1993

1992

1991

1990

1989

1988

1987

1986

1985

1984

1983

1982

1981

1980

1979

1978

1977

1976

1975

1974

1973

1972

1971

1970

1969

1968

1967

1966

1965

1964

1963

1962

1961

1960

1959

1958

1957

1956

1955

1954

1953

1952

1951

1950

1949

1948

1947

1946

1945

1944

1943

1942

1941

1940

1939

1938

1937

1936

1935

1934

1933

1932

1931

1930

1929

1928

1927

1926

1925

1924

1923

1922

1921

1920

1919

1918

1917

1916

1915

1914

1913

1912

1911

1910

1909

1908

1907

1906

1905

1904

1903

1902

1901

月份:

1

2

3

4

5

6

7

8

9

10

11

12

php阴阳万年历转换的接口,用PHP写的阴阳万年历_PHP相关推荐

  1. c语言万年历输入年月日星期几,菜鸟写的一个万年历(计算输入日期是星期几)...

    菜鸟写的一个万年历(计算输入日期是星期几) #include #include int statistic(int a) { int i,t=0; for(i=1;i if(i%4==0) { if( ...

  2. 阿里妈妈佣金转换API接口(阿里妈妈返佣接口,淘宝客佣金接口,淘宝链接转换接口)代码对接教程

    阿里妈妈佣金转换API接口(阿里妈妈返佣接口,淘宝客佣金接口,淘宝链接转换接口,淘宝佣金转换接口)代码对接教程如下: 1.公共参数 名称 类型 必须 描述 key String 是 调用key(必须以 ...

  3. 阿里妈妈佣金转换API接口代码对接教程

    阿里妈妈佣金转换API接口(淘宝客佣金接口,阿里妈妈返佣接口,淘宝链接转换接口)代码对接教程如下: 1.公共参数 名称 类型 必须 描述 key String 是 调用key(必须以GET方式拼接在U ...

  4. 阿里妈妈佣金转换API接口(item_id-佣金转换)接口代码对接教程

    阿里妈妈佣金转换API接口(item_id-佣金转换)接口代码对接教程如下: 1.公共参数 名称 类型 必须 描述(接口代码教程wx19970108018) key String 是 调用key(必须 ...

  5. 抓包中华万年历得到天气接口

    抓包中华万年历得到天气接口 首先,我说一说我遇到这个需求的场景.我正在维护一个关于地方政府的政务后台系统.甲方要求可以按照登陆地显示当地天气.我分析了一下,这种功能应该被实现很多次.网上应该有现成的接 ...

  6. 万年历c语言大作业实验,用C语言写的一个万年历

    下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. #include #include int input(); void re_year(i ...

  7. 性能测试学习05_lr(根据接口文档写脚本+参数化)

    1.根据接口文档写脚本,函数(web_custom_request),完成get,post请求(注册,登录) 代码: Action() {lr_save_string("请填写你的IP&qu ...

  8. PTA(接口)用java写 7-10 房屋、住宅、写字楼类

    PTA(接口)用java写 7-10 房屋.住宅.写字楼类 编写一个Java程序,能够处理房屋.住宅.写字楼的信息. 分析楼房.住宅.写字楼之间的关系,分别定义类.其中,楼房是基类,用于描述一座楼房的 ...

  9. 单片机万年历阴阳历c语言,单片机阴历阳历c算法万年历.pdf

    单片机阴历阳历c算法万年历 当前位置: 首页 > 嵌入式系统 > 51 单片机万年历优化算法源程序 51 单片机万年历优化算法源程序 字体大小 : 小 中 大 作者: 来源: 日期: 20 ...

  10. 接口里面可以写实现方法吗【可以】 、接口可以多继承吗【可以】

    比如下面这道题: 问: 接口里面可以写方法吗? 答: 当然可以啊,默认就是抽象方法. . 问: 那接口里面可以写实现方法吗? 答: 不可以,所有方法必须是抽象的. . 问: 你确定吗? 答: 确定-- ...

最新文章

  1. idea删除后能还原吗_热水管能过100度热水吗
  2. python利器怎么编程-OpenCV-Python,计算机视觉开发利器
  3. 九九乘法表口诀python-Python 九九乘法表
  4. js --- for in 和 for of
  5. 【Android Developers Training】 68. 序言:添加动画
  6. ResNet最强改进版来了!ResNeSt:Split-Attention Networks
  7. Python-统计svn变更代码行数
  8. POJ2762(判断无向图的弱连通)
  9. BeyondDesk 桌面小工具集合/时钟日历黄历便签相框天气时间/托盘时钟 [开放代码]
  10. 软件工程笔记四__实体联系图(ER图)
  11. 基于javaweb的文具学习用品商城系统(java+ssm+jsp+jquery+mysql)
  12. Halcon 错误 提示 2021 System clock has been set back 解决方法
  13. Poco C++类库使用说明
  14. 美通企业周刊 | 中国全球化品牌50强榜单发布;酩帝诗威士忌拍出近21万美元天价...
  15. activemq如何保证消息按顺序消费
  16. obs linux编译,教你如何在 Ubuntu 18.04/16.04 中安装 OBS Studio 21.1
  17. 期货开户手续费组成和最低价
  18. 比搞笑诺奖还离谱,看完国产AIGC最新创作,把我给整不会了
  19. 苹果电脑和Windows怎么切换 苹果电脑安装双系统的利弊
  20. 触摸板触摸屏禁止手指缩放,这么处理才行

热门文章

  1. python股票量化交易(13)---使用pyqt5构建股票交易K线形态
  2. 利用R语言进行探索性数据分析(EDA)
  3. SAP将未审批的采购订单提交到OA去审批 程序 OA审批结果返回到SAP
  4. 技术类岗位面试中经典问题总结分享
  5. 《清华梦的粉碎》by王垠
  6. java 不支持,不支持Java Sound格式
  7. 学计算机推荐电脑,计算机专业笔记本电脑推荐
  8. 马云周星驰天马行空对话:梦想需要新鲜感
  9. linux dsp开发环境,在ubuntu上搭建uclinux开发环境(转载)--- 第二篇
  10. 2018年12月份冬季PAT甲级考试总结