Revision: 4126
          http://vexi.svn.sourceforge.net/vexi/?rev=4126&view=rev
Author:   clrg
Date:     2011-05-12 00:07:40 +0000 (Thu, 12 May 2011)

Log Message:
-----------
Feature and fix for vexi.util.date:
- add compareTo function
- isDateInRange had typos, use 'this' and 2 arguments instead of 3 arguments

Modified Paths:
--------------
    trunk/org.vexi-vexi.widgets/src_main/vexi/util/date.t

Modified: trunk/org.vexi-vexi.widgets/src_main/vexi/util/date.t
===================================================================
--- trunk/org.vexi-vexi.widgets/src_main/vexi/util/date.t       2011-05-11 
23:28:40 UTC (rev 4125)
+++ trunk/org.vexi-vexi.widgets/src_main/vexi/util/date.t       2011-05-12 
00:07:40 UTC (rev 4126)
@@ -63,6 +63,7 @@
         thisobj.getDaysInMonth = static.getDaysInMonth;
         thisobj.getMonthName = static.getMonthName;
         thisobj.getWeekday = static.getWeekday;
+        thisobj.compareTo = static.compareTo;
         thisobj.isDateInRange = static.isDateInRange;
         thisobj.parseDate = static.parseDate;
         
@@ -155,14 +156,41 @@
      *  tests if a date is in the given range
      * 
      *  returns:
+     *    -1 : date is before specified date
+     *     0 : date is the same specified date
+     *     1 : date is after specified date
+     */
+    static.compareTo = function(d) {
+        var dY = this.getFullYear();
+        var dM = this.getMonth();
+        var dD = this.getDate();
+        var d2Y = d2.getFullYear();
+        var d2M = d2.getMonth();
+        var d2D = d2.getDate();
+        if (d2Y>dY or (d2Y==dY and (d2M>dM or (d2M==dM and d2D>dD)))) {
+            // below range
+            return -1;
+        }
+        if (dY>d2Y or (dY==d2Y and (dM>d2M or (dM==d2M and dD>d2D)))) {
+            // above range
+            return 1;
+        }
+        // date is in range
+        return 0;
+    }
+    
+    /** 
+     *  tests if a date is in the given range
+     * 
+     *  returns:
      *    -1 : date is before range
      *     0 : date is in range
      *     1 : date is after range
      */
-    static.isDateInRange = function(d, d1, d2) {
-        var dY = d.getFullYear();
-        var dM = d.getMonth();
-        var dD = d.getDate();
+    static.isDateInRange = function(d1, d2) {
+        var dY = this.getFullYear();
+        var dM = this.getMonth();
+        var dD = this.getDate();
         var d1Y = d1.getFullYear();
         var d1M = d1.getMonth();
         var d1D = d1.getDate();
@@ -173,7 +201,7 @@
             // below range
             return -1;
         }
-        if (dY>d2Y or (dy==D2Y and (dM>d2M or (dM==d2M and dD>d2D)))) {
+        if (dY>d2Y or (dY==d2Y and (dM>d2M or (dM==d2M and dD>d2D)))) {
             // above range
             return 1;
         }


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
Achieve unprecedented app performance and reliability
What every C/C++ and Fortran developer should know.
Learn how Intel has extended the reach of its next-generation tools
to help boost performance applications - inlcuding clusters.
http://p.sf.net/sfu/intel-dev2devmay
_______________________________________________
Vexi-svn mailing list
Vexi-svn@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/vexi-svn

Reply via email to