45fan.com - 路饭网

搜索: 您的位置主页 > 电脑频道 > 电脑教程 > 阅读资讯:怎么样换算java版公/农历?

怎么样换算java版公/农历?

2016-08-27 13:57:59 来源:www.45fan.com 【

怎么样换算java版公/农历?

怎么样换算java版公/农历?importjava.text.ParseException;
怎么样换算java版公/农历?
importjava.text.SimpleDateFormat;
怎么样换算java版公/农历?
importjava.util.Calendar;
怎么样换算java版公/农历?
importjava.util.Date;
怎么样换算java版公/农历?
怎么样换算java版公/农历?怎么样换算java版公/农历?
publicclasstest{
怎么样换算java版公/农历?
privateintyear;
怎么样换算java版公/农历?
privateintmonth;
怎么样换算java版公/农历?
privateintday;
怎么样换算java版公/农历?
privatebooleanleap;
怎么样换算java版公/农历?怎么样换算java版公/农历?
finalstaticStringchineseNumber[]={
怎么样换算java版公/农历?
"","","","","","","","","","","十一","十二"}
;
怎么样换算java版公/农历?
staticSimpleDateFormatchineseDateFormat=newSimpleDateFormat(
怎么样换算java版公/农历?
"yyyy年MM月dd日");
怎么样换算java版公/农历?怎么样换算java版公/农历?
finalstaticlong[]lunarInfo=newlong[]{
怎么样换算java版公/农历?
0x04bd8,0x04ae0,0x0a570,0x054d5,0x0d260,0x0d950,0x16554,0x056a0,
怎么样换算java版公/农历?
0x09ad0,0x055d2,
怎么样换算java版公/农历?
0x04ae0,0x0a5b6,0x0a4d0,0x0d250,0x1d255,0x0b540,0x0d6a0,0x0ada2,
怎么样换算java版公/农历?
0x095b0,0x14977,
怎么样换算java版公/农历?
0x04970,0x0a4b0,0x0b4b5,0x06a50,0x06d40,0x1ab54,0x02b60,0x09570,
怎么样换算java版公/农历?
0x052f2,0x04970,
怎么样换算java版公/农历?
0x06566,0x0d4a0,0x0ea50,0x06e95,0x05ad0,0x02b60,0x186e3,0x092e0,
怎么样换算java版公/农历?
0x1c8d7,0x0c950,
怎么样换算java版公/农历?
0x0d4a0,0x1d8a6,0x0b550,0x056a0,0x1a5b4,0x025d0,0x092d0,0x0d2b2,
怎么样换算java版公/农历?
0x0a950,0x0b557,
怎么样换算java版公/农历?
0x06ca0,0x0b550,0x15355,0x04da0,0x0a5d0,0x14573,0x052d0,0x0a9a8,
怎么样换算java版公/农历?
0x0e950,0x06aa0,
怎么样换算java版公/农历?
0x0aea6,0x0ab50,0x04b60,0x0aae4,0x0a570,0x05260,0x0f263,0x0d950,
怎么样换算java版公/农历?
0x05b57,0x056a0,
怎么样换算java版公/农历?
0x096d0,0x04dd5,0x04ad0,0x0a4d0,0x0d4d4,0x0d250,0x0d558,0x0b540,
怎么样换算java版公/农历?
0x0b5a0,0x195a6,
怎么样换算java版公/农历?
0x095b0,0x049b0,0x0a974,0x0a4b0,0x0b27a,0x06a50,0x06d40,0x0af46,
怎么样换算java版公/农历?
0x0ab60,0x09570,
怎么样换算java版公/农历?
0x04af5,0x04970,0x064b0,0x074a3,0x0ea50,0x06b58,0x055c0,0x0ab60,
怎么样换算java版公/农历?
0x096d5,0x092e0,
怎么样换算java版公/农历?
0x0c960,0x0d954,0x0d4a0,0x0da50,0x07552,0x056a0,0x0abb7,0x025d0,
怎么样换算java版公/农历?
0x092d0,0x0cab5,
怎么样换算java版公/农历?
0x0a950,0x0b4a0,0x0baa4,0x0ad50,0x055d9,0x04ba0,0x0a5b0,0x15176,
怎么样换算java版公/农历?
0x052b0,0x0a930,
怎么样换算java版公/农历?
0x07954,0x06aa0,0x0ad50,0x05b52,0x04b60,0x0a6e6,0x0a4e0,0x0d260,
怎么样换算java版公/农历?
0x0ea65,0x0d530,
怎么样换算java版公/农历?
0x05aa0,0x076a3,0x096d0,0x04bd7,0x04ad0,0x0a4d0,0x1d0b6,0x0d250,
怎么样换算java版公/农历?
0x0d520,0x0dd45,
怎么样换算java版公/农历?
0x0b5a0,0x056d0,0x055b2,0x049b0,0x0a577,0x0a4b0,0x0aa50,0x1b255,
怎么样换算java版公/农历?
0x06d20,0x0ada0}
;
怎么样换算java版公/农历?
怎么样换算java版公/农历?
//======传回农历y年的总天数
怎么样换算java版公/农历?怎么样换算java版公/农历?finalprivatestaticintyearDays(inty){
怎么样换算java版公/农历?
inti,sum=348;
怎么样换算java版公/农历?怎么样换算java版公/农历?
for(i=0x8000;i>0x8;i>>=1){
怎么样换算java版公/农历?
if((lunarInfo[y-1900]&i)!=0)
怎么样换算java版公/农历?sum
+=1;
怎么样换算java版公/农历?}

怎么样换算java版公/农历?return(sum+leapDays(y));
怎么样换算java版公/农历?}

怎么样换算java版公/农历?
怎么样换算java版公/农历?
//======传回农历y年闰月的天数
怎么样换算java版公/农历?怎么样换算java版公/农历?finalprivatestaticintleapDays(inty){
怎么样换算java版公/农历?怎么样换算java版公/农历?
if(leapMonth(y)!=0){
怎么样换算java版公/农历?
if((lunarInfo[y-1900]&0x10000)!=0)
怎么样换算java版公/农历?
return30;
怎么样换算java版公/农历?
else
怎么样换算java版公/农历?return29;
怎么样换算java版公/农历?}

怎么样换算java版公/农历?else
怎么样换算java版公/农历?return0;
怎么样换算java版公/农历?}

怎么样换算java版公/农历?
怎么样换算java版公/农历?
//======传回农历y年闰哪个月1-12,没闰传回0
怎么样换算java版公/农历?怎么样换算java版公/农历?finalprivatestaticintleapMonth(inty){
怎么样换算java版公/农历?
return(int)(lunarInfo[y-1900]&0xf);
怎么样换算java版公/农历?}

怎么样换算java版公/农历?
怎么样换算java版公/农历?
//======传回农历y年m月的总天数
怎么样换算java版公/农历?怎么样换算java版公/农历?finalprivatestaticintmonthDays(inty,intm){
怎么样换算java版公/农历?
if((lunarInfo[y-1900]&(0x10000>>m))==0)
怎么样换算java版公/农历?
return29;
怎么样换算java版公/农历?
else
怎么样换算java版公/农历?return30;
怎么样换算java版公/农历?}

怎么样换算java版公/农历?
怎么样换算java版公/农历?
//======传回农历y年的生肖
怎么样换算java版公/农历?怎么样换算java版公/农历?finalpublicStringanimalsYear(){
怎么样换算java版公/农历?怎么样换算java版公/农历?
finalString[]Animals=newString[]{
怎么样换算java版公/农历?
"","","","","","","","","","","",""}
;
怎么样换算java版公/农历?
returnAnimals[(year-4)%12];
怎么样换算java版公/农历?}

怎么样换算java版公/农历?
怎么样换算java版公/农历?
//======传入月日的offset传回干支,0=甲子
怎么样换算java版公/农历?怎么样换算java版公/农历?finalprivatestaticStringcyclicalm(intnum){
怎么样换算java版公/农历?怎么样换算java版公/农历?
finalString[]Gan=newString[]{
怎么样换算java版公/农历?
"","","","","","","","","",""}
;
怎么样换算java版公/农历?怎么样换算java版公/农历?
finalString[]Zhi=newString[]{
怎么样换算java版公/农历?
"","","","","","","","","","","",""}
;
怎么样换算java版公/农历?
return(Gan[num%10]+Zhi[num%12]);
怎么样换算java版公/农历?}

怎么样换算java版公/农历?
怎么样换算java版公/农历?
//======传入offset传回干支,0=甲子
怎么样换算java版公/农历?怎么样换算java版公/农历?finalpublicStringcyclical(){
怎么样换算java版公/农历?
intnum=year-1900+36;
怎么样换算java版公/农历?
return(cyclicalm(num));
怎么样换算java版公/农历?}

怎么样换算java版公/农历?
怎么样换算java版公/农历?怎么样换算java版公/农历?
/**
怎么样换算java版公/农历?*传出y年m月d日对应的农历.
怎么样换算java版公/农历?*yearCyl3:农历年与1864的相差数?
怎么样换算java版公/农历?*monCyl4:从1900年1月31日以来,闰月数
怎么样换算java版公/农历?*dayCyl5:与1900年1月31日相差的天数,再加40?
怎么样换算java版公/农历?*
@paramcal
怎么样换算java版公/农历?*
@return
怎么样换算java版公/农历?*/

怎么样换算java版公/农历?怎么样换算java版公/农历?publictest(Calendarcal){
怎么样换算java版公/农历?
intyearCyl,monCyl,dayCyl;
怎么样换算java版公/农历?
intleapMonth=0;
怎么样换算java版公/农历?DatebaseDate
=null;
怎么样换算java版公/农历?怎么样换算java版公/农历?
try{
怎么样换算java版公/农历?baseDate
=chineseDateFormat.parse("1900年1月31日");
怎么样换算java版公/农历?}

怎么样换算java版公/农历?怎么样换算java版公/农历?catch(ParseExceptione){
怎么样换算java版公/农历?e.printStackTrace();
//TochangebodyofcatchstatementuseOptions|FileTemplates.
怎么样换算java版公/农历?}

怎么样换算java版公/农历?
怎么样换算java版公/农历?
//求出和1900年1月31日相差的天数
怎么样换算java版公/农历?intoffset=(int)((cal.getTime().getTime()-baseDate.getTime())/
怎么样换算java版公/农历?86400000L);
怎么样换算java版公/农历?dayCyl
=offset+40;
怎么样换算java版公/农历?monCyl
=14;
怎么样换算java版公/农历?
怎么样换算java版公/农历?
//用offset减去每农历年的天数
怎么样换算java版公/农历?
//计算当天是农历第几天
怎么样换算java版公/农历?
//i最终结果是农历的年份
怎么样换算java版公/农历?
//offset是当年的第几天
怎么样换算java版公/农历?intiYear,daysOfYear=0;
怎么样换算java版公/农历?怎么样换算java版公/农历?
for(iYear=1900;iYear<2050&&offset>0;iYear++){
怎么样换算java版公/农历?daysOfYear
=yearDays(iYear);
怎么样换算java版公/农历?offset
-=daysOfYear;
怎么样换算java版公/农历?monCyl
+=12;
怎么样换算java版公/农历?}

怎么样换算java版公/农历?怎么样换算java版公/农历?if(offset<0){
怎么样换算java版公/农历?offset
+=daysOfYear;
怎么样换算java版公/农历?iYear
--;
怎么样换算java版公/农历?monCyl
-=12;
怎么样换算java版公/农历?}

怎么样换算java版公/农历?//农历年份
怎么样换算java版公/农历?year=iYear;
怎么样换算java版公/农历?
怎么样换算java版公/农历?yearCyl
=iYear-1864;
怎么样换算java版公/农历?leapMonth
=leapMonth(iYear);//闰哪个月,1-12
怎么样换算java版公/农历?leap=false;
怎么样换算java版公/农历?
怎么样换算java版公/农历?
//用当年的天数offset,逐个减去每月(农历)的天数,求出当天是本月的第几天
怎么样换算java版公/农历?intiMonth,daysOfMonth=0;
怎么样换算java版公/农历?怎么样换算java版公/农历?
for(iMonth=1;iMonth<13&&offset>0;iMonth++){
怎么样换算java版公/农历?
//闰月
怎么样换算java版公/农历?怎么样换算java版公/农历?if(leapMonth>0&&iMonth==(leapMonth+1)&&!leap){
怎么样换算java版公/农历?
--iMonth;
怎么样换算java版公/农历?leap
=true;
怎么样换算java版公/农历?daysOfMonth
=leapDays(year);
怎么样换算java版公/农历?}

怎么样换算java版公/农历?else
怎么样换算java版公/农历?daysOfMonth=monthDays(year,iMonth);
怎么样换算java版公/农历?
怎么样换算java版公/农历?offset
-=daysOfMonth;
怎么样换算java版公/农历?
//解除闰月
怎么样换算java版公/农历?if(leap&&iMonth==(leapMonth+1))
怎么样换算java版公/农历?leap
=false;
怎么样换算java版公/农历?
if(!leap)
怎么样换算java版公/农历?monCyl
++;
怎么样换算java版公/农历?}

怎么样换算java版公/农历?//offset为0时,并且刚才计算的月份是闰月,要校正
怎么样换算java版公/农历?怎么样换算java版公/农历?if(offset==0&&leapMonth>0&&iMonth==leapMonth+1){
怎么样换算java版公/农历?怎么样换算java版公/农历?
if(leap){
怎么样换算java版公/农历?leap
=false;
怎么样换算java版公/农历?}

怎么样换算java版公/农历?怎么样换算java版公/农历?else{
怎么样换算java版公/农历?leap
=true;
怎么样换算java版公/农历?
--iMonth;
怎么样换算java版公/农历?
--monCyl;
怎么样换算java版公/农历?}

怎么样换算java版公/农历?}

怎么样换算java版公/农历?//offset小于0时,也要校正
怎么样换算java版公/农历?怎么样换算java版公/农历?if(offset<0){
怎么样换算java版公/农历?offset
+=daysOfMonth;
怎么样换算java版公/农历?
--iMonth;
怎么样换算java版公/农历?
--monCyl;
怎么样换算java版公/农历?}

怎么样换算java版公/农历?month=iMonth;
怎么样换算java版公/农历?day
=offset+1;
怎么样换算java版公/农历?}

怎么样换算java版公/农历?
怎么样换算java版公/农历?怎么样换算java版公/农历?
publicstaticStringgetChinaDayString(intday){
怎么样换算java版公/农历?怎么样换算java版公/农历?StringchineseTen[]
={
怎么样换算java版公/农历?
"","","廿",""}
;
怎么样换算java版公/农历?
intn=day%10==0?9:day%10-1;
怎么样换算java版公/农历?
if(day>30)
怎么样换算java版公/农历?
return"";
怎么样换算java版公/农历?
if(day==10)
怎么样换算java版公/农历?
return"初十";
怎么样换算java版公/农历?
else
怎么样换算java版公/农历?returnchineseTen[day/10]+chineseNumber[n];
怎么样换算java版公/农历?}

怎么样换算java版公/农历?
怎么样换算java版公/农历?怎么样换算java版公/农历?
publicStringtoString(){
怎么样换算java版公/农历?
returnyear+""+(leap?"":"")+chineseNumber[month-1]+""+
怎么样换算java版公/农历?getChinaDayString(day);
怎么样换算java版公/农历?}

怎么样换算java版公/农历?
怎么样换算java版公/农历?怎么样换算java版公/农历?
publicstaticvoidmain(String[]args)throwsParseException{
怎么样换算java版公/农历?Calendartoday
=Calendar.getInstance();
怎么样换算java版公/农历?today.setTime(chineseDateFormat.parse(
"2006年12月1日"));
怎么样换算java版公/农历?testlunar
=newtest(today);
怎么样换算java版公/农历?
怎么样换算java版公/农历?System.out.println(
"北京时间:"+chineseDateFormat.format(today.getTime())+
怎么样换算java版公/农历?"农历"+lunar);
怎么样换算java版公/农历?}

怎么样换算java版公/农历?}

输出结果:

北京时间:2006年12月01日农历2006年十月十一

 

本文地址:http://www.45fan.com/dnjc/68372.html
Tags: Java 农历 版公
编辑:路饭网
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部