前几天需要用到农历转阳历好用版文档格式.docx
- 文档编号:18983667
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:8
- 大小:16.32KB
前几天需要用到农历转阳历好用版文档格式.docx
《前几天需要用到农历转阳历好用版文档格式.docx》由会员分享,可在线阅读,更多相关《前几天需要用到农历转阳历好用版文档格式.docx(8页珍藏版)》请在冰豆网上搜索。
0x4970,0x64b0,0x6a50,0xea50,0x6b28,0x5ac0,0xab60,0x9368,0x92e0,0xc960,//2000
0xd4a8,0xd4a0,0xda50,0x5aa8,0x56a0,0xaad8,0x25d0,0x92d0,0xc958,0xa950,//2010
0xb4a0,0xb550,0xb550,0x55a8,0x4ba0,0xa5b0,0x52b8,0x52b0,0xa930,0x74a8,//2020
0x6aa0,0xad50,0x4da8,0x4b60,0x9570,0xa4e0,0xd260,0xe930,0xd530,0x5aa0,//2030
0x6b50,0x96d0,0x4ae8,0x4ad0,0xa4d0,0xd258,0xd250,0xd520,0xdaa0,0xb5a0,//2040
0x56d0,0x4ad8,0x49b0,0xa4b8,0xa4b0,0xaa50,0xb528,0x6d20,0xada0,0x55b0//2050
};
privatestaticfinalchar[]iLunarLeapMonthTable={0x00,0x50,0x04,0x00,0x20,//1910
0x60,0x05,0x00,0x20,0x70,//1920
0x05,0x00,0x40,0x02,0x06,//1930
0x00,0x50,0x03,0x07,0x00,//1940
0x60,0x04,0x00,0x20,0x70,//1950
0x05,0x00,0x30,0x80,0x06,//1960
0x00,0x40,0x03,0x07,0x00,//1970
0x50,0x04,0x08,0x00,0x60,//1980
0x04,0x0a,0x00,0x60,0x05,//1990
0x00,0x30,0x80,0x05,0x00,//2000
0x40,0x02,0x07,0x00,0x50,//2010
0x04,0x09,0x00,0x60,0x04,//2020
0x00,0x20,0x60,0x05,0x00,//2030
0x30,0xb0,0x06,0x00,0x50,//2040
0x02,0x07,0x00,0x50,0x03//2050
privatestaticfinalchar[]iSolarLunarOffsetTable={49,38,28,46,34,24,43,32,21,40,//1910
29,48,36,25,44,34,22,41,31,50,//1920
38,27,46,35,23,43,32,22,40,29,//1930
47,36,25,44,34,23,41,30,49,38,//1940
26,45,35,24,43,32,21,40,28,47,//1950
36,26,44,33,23,42,30,48,38,27,//1960
45,35,24,43,32,20,39,29,47,36,//1970
26,45,33,22,41,30,48,37,27,46,//1980
35,24,43,32,50,39,28,47,36,26,//1990
45,34,22,40,30,49,37,27,46,35,//2000
23,42,31,21,39,28,48,37,25,44,//2010
33,22,41,31,50,39,28,47,35,24,//2020
42,30,21,40,28,47,36,25,43,33,//2030
22,41,30,49,37,26,44,33,23,42,//2040
31,21,40,29,47,36,25,44,32,22,//2050
staticbooleanbIsSolarLeapYear(intiYear){
return((iYear%4==0)&
&
(iYear%100!
=0)||iYear%400==0);
}
Thedaysinthemonthofsolarcalendar
publicstaticintiGetSYearMonthDays(intiYear,intiMonth){
if((iMonth==1)||(iMonth==3)||(iMonth==5)||(iMonth==7)||(iMonth==8)
||(iMonth==10)||(iMonth==12))
return31;
elseif((iMonth==4)||(iMonth==6)||(iMonth==9)||(iMonth==11))
return30;
elseif(iMonth==2){
if(bIsSolarLeapYear(iYear))
return29;
else
return28;
}else
return0;
TheoffsetdaysfromNewYearandthedaywhenpointoutinsolarcalendar
publicstaticintiGetSNewYearOffsetDays(intiYear,intiMonth,intiDay){
intiOffsetDays=0;
for(inti=1;
i<
iMonth;
i++){
iOffsetDays+=iGetSYearMonthDays(iYear,i);
iOffsetDays+=iDay-1;
returniOffsetDays;
publicstaticintiGetLLeapMonth(intiYear){
chariMonth=iLunarLeapMonthTable[(iYear-1901)/2];
if(iYear%2==0)
return(iMonth&
0x0f);
0xf0)>
>
4;
publicstaticintiGetLMonthDays(intiYear,intiMonth){
intiLeapMonth=iGetLLeapMonth(iYear);
if((iMonth>
12)&
(iMonth-12!
=iLeapMonth)||(iMonth<
0)){
System.out.println("
Wrongmonth,^_^,ithinkyouarewanta-1,gotodeath!
"
);
return-1;
if(iMonth-12==iLeapMonth){
if((iLunarMonthDaysTable[iYear-1901]&
(0x8000>
iLeapMonth))==0)
#Android
//接上面的代码
if((iLeapMonth>
0)&
(iMonth>
iLeapMonth))
iMonth++;
(iMonth-1)))==0)
Daysinthisyearoflunarcalendar
publicstaticintiGetLYearDays(intiYear){
intiYearDays=0;
13;
i++)
iYearDays+=iGetLMonthDays(iYear,i);
if(iLeapMonth>
0)
iYearDays+=iGetLMonthDays(iYear,iLeapMonth+12);
returniYearDays;
publicstaticintiGetLNewYearOffsetDays(intiYear,intiMonth,intiDay){
(iLeapMonth==iMonth-12)){
iMonth=iLeapMonth;
iOffsetDays+=iGetLMonthDays(iYear,iMonth);
iOffsetDays+=iGetLMonthDays(iYear,i);
if(i==iLeapMonth)
iOffsetDays+=iGetLMonthDays(iYear,iLeapMonth+12);
Thesolarcalendaristurnedintothelunarcalendar
publicstaticStringsCalendarSolarToLundar(intiYear,intiMonth,intiDay){
intiLDay,iLMonth,iLYear;
intiOffsetDays=iGetSNewYearOffsetDays(iYear,iMonth,iDay);
if(iOffsetDays<
iSolarLunarOffsetTable[iYear-1901]){
iLYear=iYear-1;
iOffsetDays=iSolarLunarOffsetTable[iYear-1901]-iOffsetDays;
iLDay=iOffsetDays;
for(iLMonth=12;
iOffsetDays>
iGetLMonthDays(iLYear,iLMonth);
iLMonth--){
iOffsetDays-=iGetLMonthDays(iLYear,iLMonth);
if(0==iLDay)
iLDay=1;
iLDay=iGetLMonthDays(iLYear,iLMonth)-iOffsetDays+1;
}else{
iLYear=iYear;
iOffsetDays-=iSolarLunarOffsetTable[iYear-1901];
iLDay=iOffsetDays+1;
for(iLMonth=1;
=0;
iLMonth++){
if((iLeapMonth==iLMonth)&
(iOffsetDays>
iOffsetDays-=iGetLMonthDays(iLYear,iLMonth+12);
=0){
iLMonth+=12+1;
break;
iLMonth--;
return"
+iLYear+"
-"
+(iLMonth>
9?
"
+iLMonth:
0"
+iLMonth)+
+(iLDay>
+iLDay:
+iLDay);
ThelunarcalendaristurnedintotheSolarcalendar
publicstaticStringsCalendarLundarToSolar(intiYear,intiMonth,intiDay){
intiSYear,iSMonth,iSDay;
intiOffsetDays=iGetLNewYearOffsetDays(iYear,iMonth,iDay)+
iSolarLunarOffsetTable[iYear-1901];
intiYearDays=bIsSolarLeapYear(iYear)?
366:
365;
if(iOffsetDays>
=iYearDays){
iSYear=iYear+1;
iOffsetDays-=iYearDays;
iSYear=iYear;
iSDay=iOffsetDays+1;
for(iSMonth=1;
iSMonth++){
iOffsetDays-=iGetSYearMonthDays(iSYear,iSMonth);
iSMonth--;
+iSYear+"
+(iSMonth>
iSMonth+"
:
+iSMonth)+
+(iSDay>
iSDay+"
+iSDay);
//测试类
publicclassTest{
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 前几天 需要 用到 农历 阳历 好用版