[Libreoffice-commits] core.git: include/tools

Eike Rathke erack at redhat.com
Fri May 17 09:26:37 PDT 2013


 include/tools/date.hxx |   40 ++++++++++++++++++++++++++++++++++------
 1 file changed, 34 insertions(+), 6 deletions(-)

New commits:
commit 3126793480c8c8759a991ff7f516ad7bf69d4ac8
Author: Eike Rathke <erack at redhat.com>
Date:   Fri May 17 18:25:32 2013 +0200

    added documentation about non-normalized invalid dates
    
    Change-Id: I88a95d8fac8af9085d41cf1b13c8ff3ee7abb141

diff --git a/include/tools/date.hxx b/include/tools/date.hxx
index 7235182..714a97b 100644
--- a/include/tools/date.hxx
+++ b/include/tools/date.hxx
@@ -66,19 +66,47 @@ public:
     sal_uInt16      GetMonth() const { return (sal_uInt16)((nDate / 100) % 100); }
     sal_uInt16      GetYear() const { return (sal_uInt16)(nDate / 10000); }
 
-    /// Internally normalizes a copy of values.
+    /** Obtain the day of the week for the date.
+
+        Internally normalizes a copy of values.
+        The result may be unexpected for a non-normalized invalid date like
+        Date(31,11,2000) or a sequence of aDate.SetDay(31); aDate.SetMonth(11);
+     */
     DayOfWeek       GetDayOfWeek() const;
 
-    /// Internally normalizes a copy of values.
+    /** Obtain the day of the year for the date.
+
+        Internally normalizes a copy of values.
+        The result may be unexpected for a non-normalized invalid date like
+        Date(31,11,2000) or a sequence of aDate.SetDay(31); aDate.SetMonth(11);
+     */
     sal_uInt16      GetDayOfYear() const;
 
-    /** nMinimumNumberOfDaysInWeek: how many days of a week must reside in the
-        first week of a year.
-        Internally normalizes a copy of values. */
+    /** Obtain the week of the year for a date.
+
+        @param nMinimumNumberOfDaysInWeek
+               How many days of a week must reside in the first week of a year.
+
+        Internally normalizes a copy of values.
+        The result may be unexpected for a non-normalized invalid date like
+        Date(31,11,2000) or a sequence of aDate.SetDay(31); aDate.SetMonth(11);
+     */
     sal_uInt16      GetWeekOfYear( DayOfWeek eStartDay = MONDAY,
                                    sal_Int16 nMinimumNumberOfDaysInWeek = 4 ) const;
 
-    /// Internally normalizes a copy of values.
+    /** Obtain the number of days in the month of the year of the date.
+
+        Internally normalizes a copy of values.
+
+        The result may be unexpected for a non-normalized invalid date like
+        Date(31,11,2000) or a sequence of aDate.SetDay(31); aDate.SetMonth(11);
+
+        These would result in 31 as --11-31 rolls over to --12-01 and the
+        number of days in December is returned.
+
+        Instead, to obtain the value for the actual set use the static method
+        Date::GetDaysInMonth( aDate.GetMonth(), aDate.GetYear()) in such cases.
+     */
     sal_uInt16      GetDaysInMonth() const;
 
     sal_uInt16      GetDaysInYear() const { return (IsLeapYear()) ? 366 : 365; }


More information about the Libreoffice-commits mailing list