82 * SerialDate, не беспокоясь о реализации.
83 *
84 * @author David Gilbert
85 */
86 public abstract class SerialDate implements Comparable,
87 Serializable,
88 MonthConstants {
89
90 /** Для сериализации. */
91 private static final long serialVersionUID = -293716040467423637L;
92
93 /** Символические обозначения формата даты. */
94 public static final DateFormatSymbols
95 DATE_FORMAT_SYMBOLS = new SimpleDateFormat().getDateFormatSymbols();
96
97 /** Порядковый номер для 1 января 1900. */
98 public static final int SERIAL_LOWER_BOUND = 2;
99
100 /** Порядковый номер для 31 декабря 9999. */
101 public static final int SERIAL_UPPER_BOUND = 2958465;
102
103 /** Наименьшее значение года, поддерживаемое форматом даты. */
104 public static final int MINIMUM_YEAR_SUPPORTED = 1900;
105
106 /** Наибольшее значение года, поддерживаемое форматом даты. */
107 public static final int MAXIMUM_YEAR_SUPPORTED = 9999;
108
109 /** Константа для понедельника, эквивалент java.util.Calendar.MONDAY. */
110 public static final int MONDAY = Calendar.MONDAY;
111
112 /**
113 * Константа для вторника, эквивалент java.util.Calendar.TUESDAY.
114 */
115 public static final int TUESDAY = Calendar.TUESDAY;
116
117 /**
118 * Константа для среды, эквивалент
119 * java.util.Calendar.WEDNESDAY.
120 */
121 public static final int WEDNESDAY = Calendar.WEDNESDAY;
122
123 /**
124 * Константа для четверга, эквивалент java.util.Calendar.THURSDAY.
125 */
126 public static final int THURSDAY = Calendar.THURSDAY;
127
128 /** Константа для пятницы, эквивалент java.util.Calendar.FRIDAY. */
129 public static final int FRIDAY = Calendar.FRIDAY;
130
131 /**
132 * Константа для субботы, эквивалент java.util.Calendar.SATURDAY.
133 */
134 public static final int SATURDAY = Calendar.SATURDAY;
135
136 /** Константа для воскресенья, эквивалент java.util.Calendar.SUNDAY. */
137 public static final int SUNDAY = Calendar.SUNDAY;
138
139 /** Количество дней в месяцах невисокосного года. */
140 static final int[] LAST_DAY_OF_MONTH =
141 {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
142
143 /** Количество дней от начала года до конца месяца в невисокосном годе. */
144 static final int[] AGGREGATE_DAYS_TO_END_OF_MONTH =