>825 calendar.get(Calendar.YEAR));
>826
>827 }
>828
>829 /**
>830 * Возвращает порядковый номер для даты, где 1 January 1900 = 2 (что почти
>831 * соответствует системе нумерации, используемой в Microsoft Excel for
>832 * Windows и Lotus 1-2-3).
>833 *
>834 * @return порядковый номер даты.
>835 */
>836 public abstract int toSerial();
>837
>838 /**
>839 * Возвращает java.util.Date. Поскольку java.util.Date превосходит SerialDate
>840 * по точности, необходимо определить схему выбора ‘времени суток’.
>841 *
>842 * @return текущий объект в виде java.util.Date
.
>843 */
>844 public abstract java.util.Date toDate();
>845
>846 /**
>847 * Возвращает описание даты.
>848 *
>849 * @return описание даты.
>850 */
>851 public String getDescription() {
>852 return this.description;
>853 }
>854
>855 /**
>856 * Задает описание даты.
>857 *
>858 * @param description новое описание даты.
>859 */
>860 public void setDescription(final String description) {
>861 this.description = description;
>862 }
>863
>864 /**
>865 * Преобразует дату в строку.
>866 *
>867 * @return строковое представление даты.
>868 */
>869 public String toString() {
>870 return getDayOfMonth() + "-" + SerialDate.monthCodeToString(getMonth())
>871 + "-" + getYYYY();
>872 }
>873
>874 /**
>875 * Возвращает год (в действительном диапазоне от 1900 до 9999).
>876 *
>877 * @return год.
>878 */
>879 public abstract int getYYYY();
>880
>881 /**
>882 * Возвращает месяц (январь = 1, февраль = 2, март = 3).
>883 *
>884 * @return месяц.
>885 */
>886 public abstract int getMonth();
>887
>888 /**
Листинг Б.1 (продолжение)
>889 * Возвращает день месяца.
>890 *
>891 * @return день месяца.
>892 */
>893 public abstract int getDayOfMonth();
>894
>895 /**
>896 * Возвращает день недели.
>897 *
>898 * @return день недели.
>899 */
>900 public abstract int getDayOfWeek();
>901
>902 /**
>903 * Возвращает разность (в днях) между текущей и заданной
>904 * 'другой' датой.
>905 *
>906 * Результат положительный, если текущая дата следует после 'другой',
>907 * или отрицателен, если текущая дата предшествует 'другой'.
>908 *
>909 * @param other дата для сравнения.
>910 *
>911 * @return разность между текущей и другой датой.
>912 */
>913 public abstract int compare(SerialDate other);