// A class for dates providing other constructors and an equals method.
// Barry Cornelius, 19 June 2000
import java.util. StringTokenizer;
public class Date 
{
   private int iYear;
   private int iMonth;
   private int iDay;
   public Date()
   {
      this(1970, 1, 1);
   }
   public Date(final Date pDate)
   {
      this(pDate.iYear, pDate.iMonth, pDate.iDay);
   }
   public Date(final int pYear, final int pMonth, final int pDay) 
   {
      iYear = pYear;
      iMonth = pMonth; 
      iDay = pDay;
   }
   public Date(final String pDateString)
   {
      try
      {
         final StringTokenizer tTokens = 
                                 new StringTokenizer(pDateString, "-");
         final String tYearString = tTokens.nextToken();
         iYear = Integer.parseInt(tYearString);
         final String tMonthString = tTokens.nextToken();
         iMonth = Integer.parseInt(tMonthString);
         final String tDayString = tTokens.nextToken();
         iDay = Integer.parseInt(tDayString);
      }
      catch(final Exception pException)
      {
         iYear = 1970;
         iMonth = 1;
         iDay = 1;
         throw new IllegalArgumentException();
      }
   } //BJCHEREFIRST
   public int getYear()
   {
      return iYear;
   }
   public int getMonth()
   {
      return iMonth;
   }
   public int getDay()
   {
      return iDay;
   }
   public void setYear(final int pYear)
   {
      iYear = pYear;
   }
   public void setMonth(final int pMonth)
   {
      iMonth = pMonth;
   }
   public void setDay(final int pDay)
   {
      iDay = pDay;
   }
   public boolean equals(final Date pDate)
   {
      return iYear==pDate.iYear && iMonth==pDate.iMonth && iDay==pDate.iDay;
   }
   public String toString()
   {
      return iYear + "-" + iMonth/10 + iMonth%10 + "-" + iDay/10 + iDay%10;
   }
}
