⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mycalendar.java

📁 JAVA邮件系统
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
import java.io.*;
import java.text.*;
import java.util.*;
import java.sql.*;
public class MyCalendar{
   String m_nlYear;
   String m_nlMonth;
   String m_nlDay;
   int m_glYear;
   int m_glMonth;
   int m_glDay;
   int m_maxDay;
   String m_glWeek;
  // int m_glMinutes;
 //  int m_glHours;
  // int m_glSecond;
   MyCalendar()
	{
      m_nlYear="";
      m_nlMonth="";
      m_nlDay="";
	  m_glWeek="";
   }
   //得到公历年、月、日
  // public void getDate(int nYear , int nMonth, int nDay ,int nHours,int nMinutes,int nSecond){
	 public void getDate(int nYear , int nMonth, int nDay ){
        m_glYear = nYear;
		m_glMonth = nMonth ;
		m_glDay = nDay;
		if ((nYear<1900)||(nYear>2050))
			return;
	//	m_glHours = nHours;
	//	m_glMinutes = nMinutes;
	//	m_glSecond = nSecond;
	}
 //  public  void getNlCalendar(){
		int byr=1201,nyr=150,nmth=13;
		int[] yearInfo={0x04bd8,
				0x04ae0,0x0a570,0x054d5,0x0d260,0x0d950,
				0x16554,0x056a0,0x09ad0,0x055d2,0x04ae0,
				0x0a5b6,0x0a4d0,0x0d250,0x1d255,0x0b540,
				0x0d6a0,0x0ada2,0x095b0,0x14977,0x04970,
				0x0a4b0,0x0b4b5,0x06a50,0x06d40,0x1ab54,
				0x02b60,0x09570,0x052f2,0x04970,0x06566,
				0x0d4a0,0x0ea50,0x06e95,0x05ad0,0x02b60,
				0x186e3,0x092e0,0x1c8d7,0x0c950,0x0d4a0,
				0x1d8a6,0x0b550,0x056a0,0x1a5b4,0x025d0,
				0x092d0,0x0d2b2,0x0a950,0x0b557,0x06ca0,
				0x0b550,0x15355,0x04da0,0x0a5d0,0x14573,
				0x052d0,0x0a9a8,0x0e950,0x06aa0,0x0aea6,
				0x0ab50,0x04b60,0x0aae4,0x0a570,0x05260,
				0x0f263,0x0d950,0x05b57,0x056a0,0x096d0,
				0x04dd5,0x04ad0,0x0a4d0,0x0d4d4,0x0d250,
				0x0d558,0x0b540,0x0b5a0,0x195a6,0x095b0,
				0x049b0,0x0a974,0x0a4b0,0x0b27a,0x06a50,
				0x06d40,0x0af46,0x0ab60,0x09570,0x04af5,
				0x04970,0x064b0,0x074a3,0x0ea50,0x06b58,
				0x055c0,0x0ab60,0x096d5,0x092e0,0x0c960,
				0x0d954,0x0d4a0,0x0da50,0x07552,0x056a0,
				0x0abb7,0x025d0,0x092d0,0x0cab5,0x0a950,
				0x0b4a0,0x0baa4,0x0ad50,0x055d9,0x04ba0,
				0x0a5b0,0x15176,0x052b0,0x0a930,0x07954,
				0x06aa0,0x0ad50,0x05b52,0x04b60,0x0a6e6,
				0x0a4e0,0x0d260,0x0ea65,0x0d530,0x05aa0,
				0x076a3,0x096d0,0x04bd7,0x04ad0,0x0a4d0,
				0x1d0b6,0x0d250,0x0d520,0x0dd45,0x0b5a0,
				0x056d0,0x055b2,0x049b0,0x0a577,0x0a4b0,
				0x0aa50,0x1b255,0x06d20,0x0ada0}; 
		int[] fest={
				4,6,5,6,6,7,8,8,9,8,7,6,
				4,6,5,6,6,8,8,8,9,8,8,6,
				5,6,6,6,7,8,8,8,9,8,8,6,
				5,7,6,7,7,8,9,9,9,8,8,7,
				5,6,5,6,6,7,8,8,9,8,7,6,
				4,6,5,6,6,8,8,8,9,8,8,6,
				5,6,6,6,6,8,8,8,9,8,8,6,
				5,7,6,7,7,8,9,9,9,8,8,7,
				5,6,5,6,6,7,8,8,9,8,7,6,
				4,6,5,6,6,8,8,8,9,8,8,6,
				5,6,6,6,6,8,8,8,9,8,8,6,
				5,7,6,7,7,8,9,9,9,8,8,7,
				5,6,5,6,6,7,8,8,9,8,7,6,
				4,6,5,6,6,8,8,8,9,8,8,6,
				4,6,5,6,6,8,8,8,9,8,8,6,
				5,6,6,6,7,8,8,9,9,8,8,6,
				5,6,5,6,6,7,8,8,8,8,7,6,
				4,6,5,6,6,8,8,8,9,8,7,6,
				4,6,5,6,6,8,8,8,9,8,8,6,
				5,6,6,6,7,8,8,9,9,8,8,6,
				5,6,5,6,6,7,8,8,8,8,7,6,
				4,6,5,6,6,8,8,8,9,9,7,6,	
				4,6,5,6,6,8,8,8,9,8,8,6,
				5,6,6,6,7,8,8,9,9,8,8,6,
				5,6,5,6,6,7,8,8,8,8,7,6,
				4,6,5,6,6,8,8,8,9,8,7,6,
				4,6,5,6,6,8,8,8,9,8,8,6,
				5,6,6,6,7,8,8,8,9,8,8,6,
				5,6,5,6,6,7,8,8,8,7,7,6,
				4,6,5,6,6,7,8,8,9,8,7,6,
				4,6,5,6,6,8,8,8,9,8,8,6,
				5,6,6,6,7,8,8,8,9,8,8,6,
				5,6,5,6,6,7,8,8,8,7,7,6,
				4,6,5,6,6,7,8,8,9,8,7,6,
				4,6,5,6,6,8,8,8,9,8,8,6,
				5,6,6,6,6,8,8,8,9,8,8,6,
				5,6,5,6,6,7,8,8,8,7,7,6,
				4,6,5,6,6,7,8,8,9,8,7,6,
				4,6,5,6,6,8,8,8,9,8,8,6,
				5,6,6,6,6,8,8,8,9,8,8,6,
				5,6,5,6,6,7,8,8,8,7,7,6,
				4,6,5,6,6,7,8,8,9,8,7,6,
				4,6,5,6,6,8,8,8,9,8,8,6,
				5,6,6,6,6,8,8,8,9,8,8,6,
				5,6,5,5,6,7,8,8,8,7,7,6,
				4,6,5,6,6,7,8,8,8,8,7,6,
				4,6,5,6,6,8,8,8,9,8,8,6,
				4,6,5,6,6,8,8,8,9,8,8,6,
				5,5,5,5,6,7,7,8,8,7,7,5,
				4,6,5,6,6,7,8,8,8,8,7,6,
				4,6,5,6,6,8,8,8,9,8,8,6,
				4,6,5,6,6,8,8,8,9,8,8,6,
				5,5,5,5,6,7,7,8,8,7,7,5,
				4,6,5,6,6,7,8,8,8,8,7,6,
				4,6,5,6,6,8,8,8,9,8,7,6,
				4,6,5,6,6,8,8,8,9,8,8,6,
				5,5,5,5,6,7,7,8,8,7,7,5,
				4,6,5,6,6,7,8,8,8,8,7,6,
				4,6,5,6,6,7,8,8,9,8,7,6,
				4,6,5,6,6,8,8,8,9,8,8,6,
				5,5,5,5,6,7,7,7,8,7,7,5,
				4,6,5,6,6,7,8,8,8,7,7,6,
				4,6,5,6,6,7,8,8,9,8,7,6,
				4,6,5,6,6,8,8,8,9,8,8,6,
				5,5,5,5,6,7,7,7,8,7,7,5,
				4,6,5,6,6,7,8,8,8,7,7,6,
				4,6,5,6,6,7,8,8,9,8,7,6,
				4,6,5,6,6,8,8,8,9,8,8,6,
				5,5,5,5,5,7,7,7,8,7,7,5,
				4,6,5,6,6,7,8,8,8,7,7,6,
				4,6,5,6,6,7,8,8,9,8,7,6,
				4,6,5,6,6,8,8,8,9,8,8,6,
				5,5,5,5,5,7,7,7,8,7,7,5,
				4,6,5,5,6,7,8,8,8,7,7,6,
				4,6,5,6,6,7,8,8,9,8,7,6,
				4,6,5,6,6,8,8,8,9,8,8,6,
				5,5,4,5,5,7,7,7,8,7,7,5,
				4,6,5,5,6,7,7,8,8,7,7,6,
				4,6,5,6,6,7,8,8,8,8,7,6,
				4,6,5,6,6,8,8,8,9,8,8,6,
				5,5,4,5,5,7,7,7,8,7,7,5,
				4,6,5,5,6,7,7,8,8,7,7,6,
				4,6,5,6,6,7,8,8,8,8,7,6,
				4,6,5,6,6,8,8,8,9,8,8,6,
				4,5,4,5,5,7,7,7,8,7,7,5,
				5,5,5,5,5,8,7,7,8,7,7,5,
				4,6,5,6,6,7,8,8,8,8,7,6,
				4,6,5,6,6,7,8,8,9,8,7,6,
				4,5,4,5,5,7,7,7,8,7,7,5,
				5,5,5,5,5,7,7,7,8,7,7,5,
				4,6,5,6,6,7,8,8,8,8,7,6,
				4,6,5,6,6,7,8,8,9,8,7,6,
				4,5,4,5,5,7,7,7,8,7,7,5,
				5,5,5,5,5,7,7,7,8,7,7,5,
				4,6,5,6,6,7,8,8,8,7,7,6,
				4,6,5,6,6,7,8,8,9,8,7,6,
				4,5,4,5,5,7,7,7,8,7,7,5,
				5,5,4,5,5,7,7,7,8,7,7,5,
				4,6,5,6,6,7,8,8,8,7,7,6,
				4,6,5,6,6,7,8,8,9,8,7,6,
				4,5,4,5,5,7,7,7,8,7,7,5,
				4,5,5,5,5,7,7,7,8,7,7,5,
				4,6,5,6,6,7,8,8,8,7,7,6,
				4,6,5,6,6,7,8,8,9,8,7,6,
				4,5,4,5,5,7,7,7,8,7,7,5,
				4,5,5,5,5,7,7,7,8,7,7,5,
				4,6,5,5,6,7,7,8,8,7,7,6,
				4,6,5,6,6,7,8,8,9,8,7,6,
				4,5,4,5,5,7,7,7,8,7,7,5,
				4,5,4,5,5,7,7,7,8,7,7,5,
				4,6,5,5,6,7,7,8,8,7,7,6,
				4,6,5,6,6,7,8,8,8,8,7,6,
				4,5,4,5,5,7,7,7,8,7,7,5,
				4,5,4,5,5,7,7,7,8,7,7,5,
				4,6,5,5,6,7,7,8,8,7,7,6,
				4,6,5,6,6,7,8,8,8,8,7,6,
				4,5,4,5,5,7,7,7,8,7,7,5,
				3,5,4,5,5,7,7,7,8,7,7,5,
				4,5,5,5,6,7,7,8,8,7,7,5,
				4,6,5,6,6,7,8,8,8,8,7,6,
				4,5,4,5,5,6,7,7,8,7,7,5,	
				3,5,4,5,5,7,7,7,8,7,7,5,	
				4,5,5,5,6,7,7,7,8,7,7,5,
				4,6,5,6,6,7,8,8,8,8,7,6,
				4,5,4,5,5,6,7,7,8,7,6,5,
				3,5,4,5,5,7,7,7,8,7,7,5,
				4,5,5,5,5,7,7,7,8,7,7,5,
				4,6,5,6,6,7,8,8,8,7,7,6,
				4,5,4,5,5,6,7,7,8,7,6,5,
				3,5,4,5,5,7,7,7,8,7,7,5,
				4,5,5,5,5,7,7,7,8,7,7,5,
				4,6,5,6,6,7,8,8,8,7,7,6,
				4,5,4,5,5,6,7,7,8,7,6,5,
				3,5,4,5,5,7,7,7,8,7,7,5,
				4,5,5,5,5,7,7,7,8,7,7,5,
				4,6,5,5,6,7,7,8,8,7,7,6,
				4,5,4,5,5,6,7,7,8,7,6,5,
				3,5,4,5,5,7,7,7,8,7,7,5,
				4,5,5,5,5,7,7,7,8,7,7,5,
				4,6,5,5,6,7,7,8,8,7,7,6,
				4,5,4,5,5,6,7,7,8,7,6,5,
				3,5,4,5,5,7,7,7,8,7,7,5,
				4,5,4,5,5,7,7,7,8,7,7,5,
				4,6,5,5,6,7,7,8,8,7,7,6,
				4,5,4,5,5,6,7,7,7,7,6,5,
				3,5,4,5,5,7,7,7,8,7,7,5,
				4,5,4,5,5,7,7,7,8,7,7,5,
				4,6,5,5,6,7,7,8,8,7,7,6,
				4,5,4,5,5,6,7,7,7,7,6,5,
				3,5,4,5,5,6,7,7,8,7,7,5};
		MyDate solarFirstDate=new MyDate(1900,1,31,0,3,0);
		MyDate LunarFirstDate=new MyDate(1900,1,1,0,3,0);
		MyDate solar=new MyDate(0,0,0,0,0,0);
		MyDate lunar=new MyDate(0,0,0,0,0,0);
		MyDate lunar2=new MyDate(0,0,0,0,0,0);
		int[] ymonth={  0, 1 ,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
					   30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
					   60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
					   90, 91, 92, 93, 94, 95, 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,118,
					  120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149 };
        int[] yday={0  , 1 ,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
					   30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
					   60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
					   90, 91, 92, 93, 94, 95, 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,118,
					  120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149 };
		int[]  mday={0  , 1 ,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14};
		int[]  moon={29,30}; 
		int[]  daysInSolarMonth={0,31,28,31,30,31,30,31,31,30,31,30,31};
		String[] monthGB={"正","二","三","四","五","六","七","八","九","十","十一","腊"};
		String[] dayGB={"初一","初二","初三","初四","初五","初六","初七","初八","初九","初十","十一","十二","十三","十四","十五","十六","十七","十八","十九","廿","廿一","廿二","廿三","廿四","廿五","廿六","廿七","廿八","廿九","卅"};
    /* public String report(){
		String answer="";
		//if (lunar.d ==1) 	answer=""+(lunar .l==1?"润":"")+monthGB[lunar .m-1]+"月";
            //else answer=dayGB[lunar .d-1];
			return answer;
   }*/

  public String cday(int d){
        String answer="";
			//if (d==1) answer=""+(lunar.l==1?"润":"")+monthGB[lunar.m-1]+"月";
           // else
		answer=dayGB[d-1];
	    return answer;
  }
  public String cmonth(int d){
        String answer="";
		 d = 1;
		answer=""+(lunar.l==1?"润":"")+monthGB[lunar.m-1]+"月";
           // else
		return answer;
  }
   public boolean  LeapYear(int y){
		return (((y%4)==0) && ((y%100)!=0) || ((y%400)==0));
   }
   public  double solar2Day1(MyDate d){
       int delta,i;
	   double offset;
       delta=d.y-byr;
	   offset=Math.floor(delta*365)+Math.floor(delta/4)-Math.floor(delta/100)+Math.floor(delta/400);
	   for(i=1;i<d.m;i++){
          offset += daysInSolarMonth[i];
   }
   if((d.m>2)&&(LeapYear(d.y))) offset++;
   offset += d.d-1;
   return offset;
   }

   public double solar2Day(MyDate d){
   return (solar2Day1(d)-solar2Day1(solarFirstDate));
   }

   public int  make_yday(){
   int year,i,leap,code;
   for (year=0;year<nyr;year++){
      code=yearInfo[year];
      leap=code & 0xf;
      yday[year]=0;
      if (leap!=0){
         i=(code>>16) & 0x1;
         yday[year] += moon[i];
      }
      code >>= 4;
      for (i=0;i<nmth-1;i++){
         yday[year] += moon[code&0x1];
         code >>= 1;
      }
      ymonth[year]=12;
      if (leap!=0) ymonth[year]++;
     }
   return nyr;
   }

  public int make_mday(int year){
   int i,leapMonth,code;
   code=yearInfo[year];
   leapMonth=code & 0xf;
   code >>= 4;
   if (leapMonth==0){
      mday[nmth]=0;
      for (i=nmth-1;i>=1;i--){
         mday[i]=moon[code&0x1];
         code >>= 1;
      }
   }
   else{
      i=(yearInfo[year] >> 16) & 0x1;
      mday[leapMonth+1]=moon[i];
      for (i=nmth;i>=1;i--){
         if (i==leapMonth+1) i--;
         mday[i]=moon[code&0x1];
         code >>= 1;
      }
   }
   return leapMonth;
}

 public void day2Lunar(double offset,MyDate d){
   int	i,m,nYear,leapMonth;
   boolean yesNo;
   nYear=make_yday();
   for (i=0;i<nYear&&offset>0;i++) offset-=yday[i];
   if (offset<0) offset+=yday[--i];
   d.y=i+LunarFirstDate.y;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -