我想在日历里显示"农历壬午年(马) 七月十九 ",是怎样做的呢?

tyy_yun 2002-08-27 05:19:19
请给代码我!
...全文
282 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
meizz 2002-08-28
  • 打赏
  • 举报
回复
http://www.csdn.net/develop/read_article.asp?id=14890
我将之发到了CSDN的文档里,不过好象发的过程中有点了问题。
xizi2002 2002-08-28
  • 打赏
  • 举报
回复
<?
echo "农历壬午年(马)七月十九";
?>
呵呵,楼主,给分,你说我对你的问题回答的不对,
sqsq999 2002-08-28
  • 打赏
  • 举报
回复
佩服!!!小第来csdn8天了!看来这真是藏龙卧虎!本人过去是搞网络的!现在正在转行!基本目标是java,网站,网页设计!开始想的简单,其实涉及的知识面太宽广了,真是井底之蛙!!!在下想和个位高手交个朋友,有意思的就加俺16100097。在下想了解学这方面的一些经验,以前就是玩电脑的,所以在下知道有些东西看书是不行的,需有高手指点!俺淡泊名利!现在仅混了527分!如若想要可给俺说一下!我要统统献上!!!
qimangxing 2002-08-28
  • 打赏
  • 举报
回复
你把分给我,我就告诉你,怎么样???

/*
首先,保存公历农历之间的转换信息:以任意一年作为起点,把从这一年起若干年(依需要而定)的农历信息保存起来.
要保存一年的信息,只要两个信息就够了:1.农历每个月的大小;2.今年是否有闰月,闰几月以及闰月的大小.用一个整数来保存这些信息就足够了.具体的方法是:用一位来表示一个月的大小,大月记为1,小月记为0,这样就用掉12位(无闰月)或13位(有闰月),再用高四位来表示闰月的月份,没有闰月记为0.例如:2000年的信息数据是0xc96,化成二进制就是110010010110B,表示的含义是:1,2,5,8,10,11月大,其余月份小.2001年的农历信息数据是0x1a95(因为闰月,所以有13位),具体的就是1,2,4,5,8,10,12月大,其余月份小(0x1a95=1101010010101B),4月的后面那一个0表示的是闰4月小,接着的那个1表示5月大.这样就可以用一个数组来保存这些信息.
在这里用数组CalendarDate[]来保存这些信息.
具体算法:
1.计算处所求时间到起始年正月初一的天数.
2.从起始年份开始,减去每一月的天数,一直到剩余的天数没有下一个多为止.此时,CalendarDate[]的下标到了多少,就是减去了多少年,用起始年份加上这个下标就可以得到农历年份,然后看减去了几个月.如果本年不闰月或者闰月还在后面,就可以直接得到农历月份,如果在闰月份数后面一个月,则这个月就是闰月,如果在闰月的后面,则要减去1才能得到月份数.剩余的天数就是农历日,农历时用(公历时+1)/2就可以简单的得到了.具体代码如下:
公历转换农历
*/
var CalendarDate=new Array(20);
var madd=new Array(12);
var day=new Date();
var tgString="甲乙丙丁戊己庚辛壬癸";
var dzString="子丑寅卯辰巳午未申酉戌亥";
var numString="一二三四五六七八九十";
var monString="正二三四五六七八九十冬腊";
var weekString="日一二三四五六";
var sx="鼠牛虎兔龙蛇马羊猴鸡狗猪";
var cYear;
var cMonth;
var cHour;
var cDateString;
var DateString;

function init()
{
CalendarDate[0]=0x41A95;
CalendarDate[1]=0xD4A;
CalendarDate[2]=0xDA5;
CalendarDate[3]=0x20B55;
CalendarDate[4]=0x56A;
CalendarDate[5]=0x7155B;
CalendarDate[6]=0x25D;
CalendarDate[7]=0x92D;
CalendarDate[8]=0x5192B;
CalendarDate[9]=0xA95;
CalendarDate[10]=0xB4A;
CalendarDate[11]=0x416AA;
CalendarDate[12]=0xAD5;
CalendarDate[13]=0x90AB5;
CalendarDate[14]=0x4BA;
CalendarDate[15]=0xA5B;
CalendarDate[16]=0x60A57;
CalendarDate[17]=0x52B;
CalendarDate[18]=0xA93;
CalendarDate[19]=0x40E95;

madd[0]=0
madd[1]=31
madd[2]=59
madd[3]=90
madd[4]=120
madd[5]=151
madd[6]=181
madd[7]=212
madd[8]=243
madd[9]=273
madd[10]=304
madd[11]=334
}

function GetBit(m,n)
{
return(m>>n)&1;
}

function e2c()
{
var total,m,n,k;
var isEnd=false;
var tmp=day.getYear();
if (tmp<1900)
tmp+=1900;
total=(tmp-2001)*365+Math.floor((tmp-2001)/4)+madd[day.getMonth()]+day.getDate()-23;
if (day.getYear()%4==0 && day.getMonth()>1)
total++;
for (m=0;m>=0;m++)
{
k=(CalendarDate[m]<0xfff)?11:12;
for (n=k;n>=0;n--)
{
if (total<=29+GetBit(CalendarDate[m],n))
{
isEnd=true;
break;
}
total=total-29-GetBit(CalendarDate[m],n);
}
if (isEnd)
break;
}
cYear=2001+m;
cMonth=k-n+1;
cDay=total;
if (k==12)
{
if (cMonth==Math.floor(CalendarDate[m]/0x10000+1))
cMonth=1-cMonth;
if (cMonth>Math.floor(CalendarDate[m]/0x10000+1))
cMonth--;
}
cHour=Math.floor((day.getHours()+3)/2);
}

function GetcDateString()
{
var tmp="";
tmp+=tgString.charAt((cYear-4)%10);//年干
tmp+=dzString.charAt((cYear-4)%12);//年支
tmp+="(";
tmp+=sx.charAt((cYear-4)%12);
tmp+=")年";
if (cMonth<1)
{
tmp+="闰";
tmp+=monString.charAt(-cMonth-1);
}
else
tmp+=monString.charAt(cMonth-1);
tmp+="月";
tmp+=(cDay<11)?"初":((cDay<20)?"十":((cDay<30)?"甘":"卅"));
if (cDay%10!=0||cDay==10)
tmp+=numString.charAt((cDay-1)%10);
if (cHour==13)
tmp+="夜";
tmp+=" "
tmp+=dzString.charAt((cHour-1)%12);
tmp+="时";
cDateString=tmp;
}

function GetDateString()
{
var today=new Date();//时间循环时一定要是内部变量
var t1=today.getYear();
var time
time=t1+"-"
time+=(today.getMonth()+1)+"-"
time+=today.getDate()+" "
time+="星期"+weekString.charAt(today.getDay())+" "
time+=today.getHours()+":"
time+=(today.getMinutes()<10)?"0":""
time+=today.getMinutes()+":"
time+=(today.getSeconds()<10)?"0":""
time+=today.getSeconds()+" "
time+=(today.getHours()<=12&&today.getHours()>0)?"AM":"PM"
DateString=time;
document.time.showtime.value=time;
setTimeout('GetDateString()', 1000);
}

function chinatime()
{
alert("现在农历是:"+cDateString);
}

document.write("<form name='time'>");
document.write("<input type=button name=showtime onClick='chinatime()'>")
document.write("</form>");
init();
e2c();
GetDateString();
GetcDateString();



把上面这些存为一个js文件,然后在你的网页中调用这个文件就可以了,这个不用我教你了吧。
carnoc 2002-08-27
  • 打赏
  • 举报
回复
http://www.carnoc.com/bbs3000/image/day.htm 有完整答案。
孟子E章 2002-08-27
  • 打赏
  • 举报
回复
http://www.csdn.net/develop/Read_Article.asp?Id=12068
wjmmml 2002-08-27
  • 打赏
  • 举报
回复
梅花雨,能给我一份吗?
wangjm@sinosoft.com.cn
meizz 2002-08-27
  • 打赏
  • 举报
回复
一个23.7K的HTM文件。
tyy_yun 2002-08-27
  • 打赏
  • 举报
回复
to meizz:怎么只有一个html文件的?
meizz 2002-08-27
  • 打赏
  • 举报
回复
信我已经发出,注意查收。
tyy_yun 2002-08-27
  • 打赏
  • 举报
回复
to meizz:给你留言了
ynli2002 2002-08-27
  • 打赏
  • 举报
回复
看看这个,有帮助!
http://www.csdn.net/expert/topic/779/779376.xml?temp=.4281732
meizz 2002-08-27
  • 打赏
  • 举报
回复
给我一个 mail

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧