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

📄 ourdate.java

📁 时间日期
💻 JAVA
字号:
package java.lancs ;/** * models a date (day, month, year) * @author John Mariani * @version Last Rewritten: 22nd September 1997 */import java.util.*;public class OurDate    {    // OurDate Class Constants    /**     * Constant - Month January     */    public static final int JAN = 1 ;    /**     * Constant - Month February     */    public static final int FEB = 2 ;    /**     * Constant - Month March     */    public static final int MAR = 3 ;    /**     * Constant - Month April     */    public static final int APR = 4 ;    /**     * Constant - Month May     */    public static final int MAY = 5 ;    /**     * Constant - Month June     */    public static final int JUN = 6 ;    /**     * Constant - Month July     */    public static final int JUL = 7 ;    /**     * Constant - Month August     */    public static final int AUG = 8 ;    /**     * Constant - Month September     */    public static final int SEP = 9 ;    /**     * Constant - Month October     */    public static final int OCT = 10 ;    /**     * Constant - Month November     */    public static final int NOV = 11 ;    /**     * Constant - Month December     */    public static final int DEC = 12 ;    // OurDate Instance Variables    private int dayOfMonth, month, year;    // OurDate Constructor Methods    /**     * Creates an instance of the OurDate class with default values     * (day, month and year zero)     */    public OurDate()	{ 	dayOfMonth = 0;	month = 0;	year = 0;	} // end of constructor method    /**     * Creates an instance of the OurDate class with specified attribute     * values     * @param y the year number     * @param m the month number (1 to 12)     * @param d the day number within the month (1 to 31)     */    public OurDate(int y, int m, int d)	{ 	dayOfMonth = d;	month = m;	year = y;	} // end of constructor method    // OurDate Selector Methods    /**     * returns the day within the month attribute of the date     * @return the day within the month attribute of the date     */    public int getDayOfMonth()	{	return dayOfMonth ;	} // end of method getDayOfMonth    /**     * returns the month attribute of the date     * @return the month attribute of the date     */    public int getMonth()	{	return month ;	} // end of method getMonth    /**     * returns the year attribute of the date     * @return the year attribute of the date     */    public int getYear()	{	return year ;	} // end of method getYear    // OurDate Mutator Methods    /**     * set the day within the month attribute of the date     * @param d the day within the month attribute of the date     */    public void setDayOfMonth(int d)	{	dayOfMonth = d;	} // end of method setDayOfMonth    /**     * set the month attribute of the date     * @param m the month attribute of the date     */    public void setMonth(int m)	{	month = m;	} // end of method setMonth    /**     * set the year attribute of the date     * @param y the year attribute of the date     */    public void setYear(int y)	{	year = y;	} // end of method setYear    // Other OurDate Methods    /**     * find the number of days between two dates     * @param low the earlier date     * @param high the later date     * @return the number of days difference     */    public static int subtract(OurDate low, OurDate high)	{	/*	given two "OurDates" (where 'low' < 'high') this subtracts (high - low)	and returns the result as an integer (of days)	*/	int lowdoty, highdoty, lowyear, highyear, i, days, daysleft ;	days = 0 ;	lowdoty = low.dayOfTheYear() ;	highdoty = high.dayOfTheYear() ;	if (low.year == high.year)	    {	    days = highdoty - lowdoty ;	    return(days) ;	    }        lowyear = low.year+1 ;	highyear = high.year-1 ;	for (i = lowyear ; i <= highyear ; i++)	    {	    days = days + 365 ;	    if (leapyear(i) == true) days++ ;	    }	daysleft = 365 - lowdoty ;	if (leapyear(low.year) == true) daysleft++ ;	days = days + highdoty + daysleft ;	return(days) ;	} // end of method subtract    /**     * return a copy of the date     * @return a copy of the OurDate instance     */    public OurDate copy()	{	OurDate t ;	t = new OurDate() ;	t.dayOfMonth = dayOfMonth ;	t.month = month ;	t.year = year ;	return t ;	} // end of method copy    /**     * return a string representing the date     * @return a string representing the date "day/month/year"     */    public String toString()	{	return dayOfMonth + "/" + month + "/" + year ;	} // end of method toString    /**      * calculate the day number within the year      * @return the day number within the year      */    private int dayOfTheYear()	{	int days = 0 ;	for (int i = 1 ; i < month ; i++)            switch (i)                {                case SEP : case APR : case JUN : case NOV :		    days += 30 ;		    break ;	        case FEB :		    days += 28 ;		    if (leapyear(year))			days++ ;		    break ;	        case JAN : case MAR : case MAY : case JUL :	        case AUG : case OCT : case DEC :		    days += 31 ;		    break ;                }	days += dayOfMonth ;	return days ;	} // end of method dayOfTheYear    /**     * find out if the year is a leapyear     * @param y the year in question     * @return true if it is a leapyear, false if not     */    private static boolean leapyear(int y)	{	return ((y % 400 == 0) ||	        ((y % 4 == 0) && (y % 100 != 0))) ;	} // end of method leapyear    } // end of class OurDate

⌨️ 快捷键说明

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