20 * с этой библиотекой; если этого не произошло, обратитесь в Free Software
21 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
22 * USA.
23 *
24 * [Java является зарегистрированной торговой маркой Sun Microsystems, Inc.
25 * в Соединенных Штатах и других странах].
26 *
27 * --------------------
28 * SpreadsheetDate.java
29 * --------------------
30 * (C) Copyright 2000–2005, by Object Refinery Limited and Contributors.
31 *
32 * Автор: Дэвид Гилберт (для Object Refinery Limited);
33 * Участники: -;
34 *
35 * $Id: SpreadsheetDate.java,v 1.8 2005/11/03 09:25:39 mungady Exp $
36 *
37 * Изменения
38 * -------
39 * 11.10.2001 : Версия 1 (DG);
40 * 05.11.2001 : Добавлены методы getDescription() и setDescription() (DG);
41 * 12.11.2001 : Переименование ExcelDate.java в SpreadsheetDate.java (DG);
42 * Исправлена ошибка в вычислении дня, месяца и года
43 * по порядковому номеру (DG);
44 * 24.01.2002 : Исправлена ошибка в вычислении порядкового номера по дню,
45 * месяцу и году. Спасибо Тревору Хиллзу за сообщение(DG);
46 * 29.05.2002 : Добавлен метод equals(Object) (SourceForge ID 558850) (DG);
47 * 03.10.2002 : Исправлены ошибки по информации Checkstyle (DG);
48 * 13.03.2003 : Реализован интерфейс Serializable (DG);
49 * 04.09.2003 : Завершены методы isInRange() (DG);
50 * 05.09.2003 : Реализован интерфейс Comparable (DG);
51 * 21.10.2003 : Добавлен метод hashCode() (DG);
52 *
53 */
54
55 package org.jfree.date;
56
57 import java.util.Calendar;
58 import java.util.Date;
59
60 /**
61 * Представляет дату с использованием целого числа, по аналогии с реализацией
62 * в Microsoft Excel. Поддерживаемый диапазон дат:
63 * с 1 января 1900 по 31 декабря 9999.
64 *
65 * Учтите, что в Excel существует намеренная ошибка, вследствие которой год
66 * 1900 считается високосным, тогда как в действительности он таковым не является.
67 * Дополнительная информация приведена на сайте Microsoft в статье Q181370:
68 *
69 * http://support.microsoft.com/support/kb/articles/Q181/3/70.asp
70 *
71 * Excel считает, что 1 января 1900 = 1. Этот класс считает, что
72 * 1 января 1900 = 2.
73 * В результате номер дня этого класса будет отличаться от номера Excel
74 * в январе и феврале 1900...но затем Excel прибавляет лишний день
75 * (29 февраля 1900, который в действительности не существует!), и с этого
76 * момента нумерация дней совпадает.
77 *
78 * @author Дэвид Гилберт
79 */