Permalink
Switch branches/tags
Nothing to show
Commits on May 21, 2010
Commits on Nov 5, 2008
  1. git-svn-id: http://datejs.googlecode.com/svn/trunk@194 1386df6d-df38-…

    geoff@coolite.com
    geoff@coolite.com committed Nov 5, 2008
    …0410-ade5-638ece4065a8
Commits on May 14, 2008
  1. --------------------

    geoff@coolite.com
    geoff@coolite.com committed May 14, 2008
    2008-05-12 [geoffrey.mcgill]
    Revision #191
    
    1.  Added .same() function to sugarpak.js. The new .same() function will compare two date objects to 
    	determine if they occur on/in exactly the same instance of the given date part.
    	
    	The function .same() must be followed by a date part function (example: .day(), .month(), .year(), etc).
    	
    	An optional Date can be passed in the date part function. If now date is passed as a parameter, 'Now' is used. 
    	
    	Scenario: Determine if two dates fall on the exact same day.
        
        Example
        
        var d1 = Date.today(); // today at 00:00
        var d2 = new Date();   // exactly now.
    
        // Do they occur on the same day?
        d1.same().day(d2); // true
        
         // Do they occur on the same hour?
        d1.same().hour(d2); // false, unless d2 hour is '00' (midnight).
        
        // What if it's the same day, but one year apart?
        var nextYear = Date.today().add(1).year();
    
        d1.same().day(nextYear); // false, because the dates must occur on the exact same day. 
        
        
        Scenario: Determine if a given date occurs during some week period 2 months from now. 
         
        Example
        
        var future = Date.today().add(2).months();
        return someDate.same().week(future); // true|false;
        
    2.  Added Date.prototype.toObject() function to sugarpak.js. The .toObject will return an object literal of all the date parts.
    	
    	Example
    	
    	var o = new Date().toObject();
    	
    	// { year: 2008, month: 4, week: 20, day: 13, hour: 18, minute: 9, second: 32, millisecond: 812 }
    	
    	The object properties can be referenced directly from the object.
    	
    	alert(o.day);  // alerts "13"
    	alert(o.year); // alerts "2008"
    
    3.  Added Date.fromObject(config) to sugarpak.js. The .fromObject will return a new Date based on the config properties.
    
    	Example
    	
    	var o = someDate.toObject();
    	return Date.fromObject(o); // will return the same date as "someDate"
    
        var o2 = {month: 1, day: 20, hour: 18}; // birthday party!
        Date.fromObject(o2);
        
    --------------------
    
    git-svn-id: http://datejs.googlecode.com/svn/trunk@191 1386df6d-df38-0410-ade5-638ece4065a8
Commits on May 13, 2008
  1. --------------------

    geoff@coolite.com
    geoff@coolite.com committed May 13, 2008
    2008-05-12 [geoffrey.mcgill]
    Revision #190
    
    1.  Added .today() equality check function. Checks to determine if the current date instance occurs 
        during Today. Must be preceded by the .is() function.
    
        Example
    	
        someDate.is().today();    // true|false
        new Date().is().today();  // true
        Date.today().is().today();// true
        Date.today().add(-1).day().is().today(); // false
    	
    --------------------
    
    git-svn-id: http://datejs.googlecode.com/svn/trunk@190 1386df6d-df38-0410-ade5-638ece4065a8
Commits on May 8, 2008
  1. --------------------

    geoff@coolite.com
    geoff@coolite.com committed May 8, 2008
    2008-05-07 [geoffrey.mcgill]
    Revision #189
    
    1.  Fixed bug in TimePeriod. See http://code.google.com/p/datejs/issues/detail?id=39
    
    	Example
    	
    	var start = new Date();
    	var end = Date.today().add(15).days();
    	var ts = new TimePeriod(start, end);
    
    	ts.getDays(); // 14
    
    --------------------
    
    git-svn-id: http://datejs.googlecode.com/svn/trunk@189 1386df6d-df38-0410-ade5-638ece4065a8
Commits on May 5, 2008
  1. git-svn-id: http://datejs.googlecode.com/svn/trunk@188 1386df6d-df38-…

    geoff@coolite.com
    geoff@coolite.com committed May 5, 2008
    …0410-ade5-638ece4065a8
  2. git-svn-id: http://datejs.googlecode.com/svn/trunk@187 1386df6d-df38-…

    geoff@coolite.com
    geoff@coolite.com committed May 5, 2008
    …0410-ade5-638ece4065a8
  3. git-svn-id: http://datejs.googlecode.com/svn/trunk@186 1386df6d-df38-…

    geoff@coolite.com
    geoff@coolite.com committed May 5, 2008
    …0410-ade5-638ece4065a8
Commits on Apr 26, 2008
  1. Updated build and CultureInfo files to ensure all lowercase file names.

    geoff@coolite.com
    geoff@coolite.com committed Apr 26, 2008
    git-svn-id: http://datejs.googlecode.com/svn/trunk@185 1386df6d-df38-0410-ade5-638ece4065a8
  2. git-svn-id: http://datejs.googlecode.com/svn/trunk@184 1386df6d-df38-…

    geoff@coolite.com
    geoff@coolite.com committed Apr 26, 2008
    …0410-ade5-638ece4065a8
  3. git-svn-id: http://datejs.googlecode.com/svn/trunk@183 1386df6d-df38-…

    geoff@coolite.com
    geoff@coolite.com committed Apr 26, 2008
    …0410-ade5-638ece4065a8
  4. --------------------

    geoff@coolite.com
    geoff@coolite.com committed Apr 26, 2008
    2008-04-25 [geoffrey.mcgill]
    Revision #182
    
    1.  Small correction in core.js and extras.js to add an extra space in a couple functions so they would
    	pass JSLint (http://www.jslint.com) in white-space strict mode.
    
    2.  Revised online wiki documentation style so it's easier to anchor link to specific functions. 
    
    	Example
    	
    	http://code.google.com/p/datejs/wiki/APIDocumentation#isLeapYear
    
    3.  Added cross linking (See Also) between some related documentation items. 
    
    4.  Added Date.prototype.isAfter. Determines if this date occurs after the date to compare to.
    	See http://code.google.com/p/datejs/wiki/APIDocumentation#isAfter
    	
    	Example
    
    	var tomorrow = new Date().add(1).day();	
    	Date.today().isAfter(tomorrow); // false
    	Date.today().isBefore(tomorrow); // true
    
    	var yesterday = new Date().add(-1).day();
    	Date.today().isAfter(yesterday); // true
    	Date.today().isBefore(yesterday); // false
    
    	// No date to compare to...	
    	Date.today().isAfter(); // false
    	Date.today().isBefore(); // true
    
    5.  Added Date.prototype.isBefore. Determines if this date occurs before the date to compare to.
    	See http://code.google.com/p/datejs/wiki/APIDocumentation#isBefore
    
    	Example
    
    	var tomorrow = new Date().add(1).day();	
    	Date.today().isAfter(tomorrow); // false
    	Date.today().isBefore(tomorrow); // true
    
    	var yesterday = new Date().add(-1).day();
    	Date.today().isAfter(yesterday); // true
    	Date.today().isBefore(yesterday); // false
    
    	// No date to compare to...	
    	Date.today().isAfter(); // false
    	Date.today().isBefore(); // true
    
    6.  Added .isAfter and .isBefore to online wiki documentation. See 
    	http://code.google.com/p/datejs/wiki/APIDocumentation#isAfter
    	http://code.google.com/p/datejs/wiki/APIDocumentation#isBefore
    
    7.  Added feature to the Date.prototype.equals function that will use new Date() ("now") if no date is provided to 
    	compare to. The functionality remains unchanged if a "date" parameter is provided.
    	
    	Example
    	
    	// Old
    	Date.today().equals(); // error
    	Date.today().equals(Date.today().add(1).day()); // false
    
    	// New
    	Date.today().equals(); // false
    	new Date().equals(); // true (should be true, unless it takes more than one millisecond to compare)
    	Date.today().equals(Date.today().add(1).day()); // false
    	
    8.  All individual CultureInfo files and all compiled files within the /build/ folder now have full 
    	lowercase file names.
    
    	Example
    	
    	// Old
    	date-en-US.js
    
    	// New
    	date-en-us.js
    
    9.  Added new "Release Notes" RSS feed. http://feeds.feedburner.com/DatejsReleaseNotes
    	
    --------------------
    
    git-svn-id: http://datejs.googlecode.com/svn/trunk@182 1386df6d-df38-0410-ade5-638ece4065a8
Commits on Apr 19, 2008
  1. --------------------

    geoff@coolite.com
    geoff@coolite.com committed Apr 19, 2008
    2008-04-13 [geoffrey.mcgill]
    Revision #169
    
    1.  Made correction to APIDocumentation.wiki. getDayNumberFromName and getMonthNumberFromName.
    
    --------------------
    
    git-svn-id: http://datejs.googlecode.com/svn/trunk@169 1386df6d-df38-0410-ade5-638ece4065a8
Commits on Apr 14, 2008
  1. /build/ folder update

    geoff@coolite.com
    geoff@coolite.com committed Apr 14, 2008
    git-svn-id: http://datejs.googlecode.com/svn/trunk@168 1386df6d-df38-0410-ade5-638ece4065a8
Commits on Apr 13, 2008
  1. --------------------

    geoff@coolite.com
    geoff@coolite.com committed Apr 13, 2008
    2008-04-13 [geoffrey.mcgill]
    Revision #162
    
    1.  Fixed bug in sugarpak.js where .toISOString was not correctly checking the Date.prototype
        if an instance of .toISOString was already in the dom.
    
    2.  Moved .toISOString() from sugarpak.js to core.js. Function remains otherwise unchanged.
    
    3.  Renamed .getDayOfYear() function to the proper name of .getOrdinalNumber().
    
    	Example
    	
    	// Old
    	Date.today().getDayOfYear(); // 103
    	
    	// New
    	Date.today().getOrdinalNumber(); // 103
    	
    4.  Fixed bug in core.js where .getOrdinalNumber() was not including the current day in the calculation.
    	For example 1-Jan-2008 would return '0', although it is the 'first' day of the year. 
    	The .getOrdinalNumber() function now includes the current day in the calculation.
    
    	Example
    	
    	// Old (15-Jan-2008)
    	new Date(2008, 0, 15).getOrdinalNumber(); // 14
    	
    	// New
    	new Date(2008, 0, 15).getOrdinalNumber(); // 15
    
    5.  Added new "S" format specifier as option in .toString(). The "S" format specifier will return 
    	the ordinal suffix ("st, "nd", "rd" or "th") value of the Day.
    	
    	Example
    	
    	// Old
    	Date.today().getOrdinal(); // "th"
    	
    	// New
    	Date.today().toString("S"); // "th"
    	
    	It's also possible to use the ordinal format specifier as part of larger format string.
    	
    	Example
    	
    	Date.today().toString("MMMM dS, yyyy"); // "April 12th, 2008"
    	
    6.  Removed .getOrdinal function from sugarpak.js. Please use .toString("S").
    
    7.  Contemplated adding "z", "zz" and "zzz" as format specifiers, but changed my mind.
    	For future reference here's the code required if adding "z*" support to .toString().
    	
    	// Add to .toString()
        case "z":
            return x.toString("zz").replace("0", "");
        case "zz":
            return z.substring(0, z.length - 2);
        case "zzz":
            return z.substring(0, z.length - 2) + ":" + z.substring(z.length - 2);
            
        // Documentation
        z      The offset time zone from UTC in hours.                                      "–12" through "+13", "-6"
        zz     The offset time zone from UTC in hours with leading zero.                    "–12" through "+13", "-06"
        zzz    The offset time zone from UTC in hours and minutes.                          "–12:00" through "+13:00", "-06:00"    
    
    8.  Contemplated add "fff" as format specifier option of .toString() but changed my mind. 
    	For future reference, here's the code required if adding "fff" support to .toString().
    	
    	// Add to .toString()
        case "fff":
            var y = "00" + x.getMilliseconds();
            return y.substring(y.length - 3);	
            
        // Documentation
        fff    The milliseconds between 000-999.                                            "000" to "999"    
    
    9.  Changed return type of .getISOWeek to String from Number. Returns values from "01" to "53".
    
    10. Corrected bug where .getISOWeek() was not returning a string with a leading zero if the week was < 10.
    
    	Example
    	
    	// Old
    	Date.today().getISOWeek(); // "7"
    	
    	// New
    	Date.today().getISOWeek(); // "07"
    
    11. Added support for escaping ("\\") characters in a format specifier string.
    
    	Example
    	
    	new Date().toString("\\da\\te: MMMM dS, yyyy"); // "date: April 12th, 2008"
    	
    12. Removed .toShortDateString() from sugarpak.js. Please use .toString("d").
    
    13. Removed .toLongDateString() from sugarpak.js. Please use .toString("D").
    
    14. Removed .toShortTimeString() from sugarpak.js. Please use .toString("t").
    
    15. Removed .toLongTimeString() from sugarpak.js. Please use .toString("T").
    
    16. Added support in .toString() for the following Standard Date and Time Format Specifiers. 
    	The format pattern for each standard pattern is pulled from the CultureInfo file. 
    	The pattern is culture specific and *may* be different for each CultureInfo class. 
    
        STANDARD DATE AND TIME FORMAT STRINGS
        Format  Description                                                                  Example ("en-US")
        ------  ---------------------------------------------------------------------------  -----------------------
         d      The CultureInfo shortDate Format Pattern                                     "M/d/yyyy"
         D      The CultureInfo longDate Format Pattern                                      "dddd, MMMM dd, yyyy"
         F      The CultureInfo fullDateTime Format Pattern                                  "dddd, MMMM dd, yyyy h:mm:ss tt"
         m      The CultureInfo monthDay Format Pattern                                      "MMMM dd"
         r      The CultureInfo rfc1123 Format Pattern                                       "ddd, dd MMM yyyy HH:mm:ss GMT"
         s      The CultureInfo sortableDateTime Format Pattern                              "yyyy-MM-ddTHH:mm:ss"
         t      The CultureInfo shortTime Format Pattern                                     "h:mm tt"
         T      The CultureInfo longTime Format Pattern                                      "h:mm:ss tt"
         u      The CultureInfo universalSortableDateTime Format Pattern                     "yyyy-MM-dd HH:mm:ssZ"
         y      The CultureInfo yearMonth Format Pattern                                     "MMMM, yyyy"
    
    17. Fixed bug in .getUTCOffset().
    
    18. Updated APIDocuemtation to ensure all core.js functions were documented. 
    
    19. Added parameter information to APIDocumentation (http://code.google.com/p/datejs/wiki/APIDocumentation).
    
    20. Added Date.prototype.format(format). The .format function is similar to the .toString() function,
        but will accept a PHP/Unix style format string. See the following PHP documentation for reference.
        
    	http://www.php.net/strftime
    	http://www.php.net/manual/en/function.date.php
    
    	Example
    	
    	Date.today().format("%m/%d/%y"); // "04/13/08"
    	Date.today().format("c");        // "2008-04-13T06:00:00Z"
    	
        If .format is already in the dom when the Datejs libary loads, the .format function will not be created. 
        A secondary .$format function is always created and available.
    
    21. Added .normalizeFormat() to extras.js. The .normalizeFormat function will converts a PHP format 
    	string to Java/.NET format string. 
    	A PHP format string can be used with .$format or .format.
    	A Java/.NET format string can be used with .toString().
        The .parseExact function will only accept a Java/.NET format string	
    
    	Example
    	
    	Date.normalizeFormat("%m/%d/%y"); // "MM/dd/yy"
    	
    	var f1 = "%m/%d/%y"
    	var f2 = Date.normalizeFormat(f1); // "MM/dd/yy"
    
    	new Date().format(f1);    // "04/13/08"
    	new Date().$format(f1);   // "04/13/08"
    	new Date().toString(f2);  // "04/13/08"
    
    	var date = Date.parseExact("04/13/08", f2); // Sun Apr 13 2008
    	
    22. Added .strftime() to extras.js. The .strftime() function will format a local Unix timestamp according 
    	to locale settings.
    	
    	Example
    	
    	Date.strftime("%m/%d/%y", new Date());       // "04/13/08"
    	Date.strftime("c", "2008-04-13T17:52:03Z");  // "04/13/08"
    
    23. Added .strtotime() to extras.js. The .strotime() function will parse any textual datetime description 
    	into a Unix timestamp. 
    	A Unix timestamp is the number of seconds that have elapsed since January 1, 1970 (midnight UTC/GMT).
    	
    	Example
    	
    	Date.strtotime("04/13/08");              // 1208044800
    	Date.strtotime("1970-01-01T00:00:00Z");  // 0	
    
    --------------------
    
    git-svn-id: http://datejs.googlecode.com/svn/trunk@162 1386df6d-df38-0410-ade5-638ece4065a8
  2. git-svn-id: http://datejs.googlecode.com/svn/trunk@161 1386df6d-df38-…

    geoff@coolite.com
    geoff@coolite.com committed Apr 13, 2008
    …0410-ade5-638ece4065a8
Commits on Apr 12, 2008
  1. git-svn-id: http://datejs.googlecode.com/svn/trunk@160 1386df6d-df38-…

    geoff@coolite.com
    geoff@coolite.com committed Apr 12, 2008
    …0410-ade5-638ece4065a8
Commits on Apr 11, 2008
  1. git-svn-id: http://datejs.googlecode.com/svn/trunk@155 1386df6d-df38-…

    geoff@coolite.com
    geoff@coolite.com committed Apr 11, 2008
    …0410-ade5-638ece4065a8
  2. git-svn-id: http://datejs.googlecode.com/svn/trunk@154 1386df6d-df38-…

    geoff@coolite.com
    geoff@coolite.com committed Apr 11, 2008
    …0410-ade5-638ece4065a8
  3. git-svn-id: http://datejs.googlecode.com/svn/trunk@153 1386df6d-df38-…

    geoff@coolite.com
    geoff@coolite.com committed Apr 11, 2008
    …0410-ade5-638ece4065a8
Commits on Apr 6, 2008
  1. --------------------

    geoff@coolite.com
    geoff@coolite.com committed Apr 6, 2008
    2008-04-06 [geoffrey.mcgill] 
    Revision #152
    
    1.  Added Date.prototype.getWeek(). Gets the week number. 
    	The first week of the year is the week which contains the first Thursday. 
    	Monday is considered the first day of the week.
    
    	The .getWeek algorithm is a JavaScript port of the work presented by 
    	Claus Tøndering at http://www.tonderingdk/claus/cal/node8.html#SECTION00880000000000000000
        .getWeek() Algorithm Copyright (c) Claus Tondering.
        
        The .getWeek() function does NOT convert the date to UTC. The local datetime is used. 
        Please use .getISOWeek() to get the week of the UTC converted date.
            
        Returns a number from 1 to (52 or 53) depending on the year.
        
    	Example
    	
    	Date.today().getWeek();
    	
    3.  Added Date.prototype.getISOWeek(). Get the ISO 8601 week number. 
    	Week one (1) is the week which contains the first Thursday of the year. 
    	Monday is considered the first day of the week.	
    	
    	The .getISOWeek() function does convert the date to it's UTC value. 
    	Please use .getWeek() to get the week of the local date.
    
    4.  Added Date.prototype.setWeek(). Moves the date of the current instance to Monday of the week set.
        Accepts a number (1 to 53) that represents the week of the year to move to. Returns the date instance (this). 
    
    	Example
    	
    	Date.today().setWeek(1); // 1st week of year
    
    5.  Added a series of tests to /trunk/test/core/ to test for new .getWeek() and .setWeek() functions.
    
    6.  Removed non-plural config options from Date.prototype.add().
    
    	Example 
    	
    	// Old
    	
    	Date.today().add({month: 1, day: 1, hours: 1}); // mixed pluralization was acceptable
    	
    	// New
    	Date.today().add({months: 1, days: 1, hours: 1}); // Only plural config options now accepted.
    	
    7.  Added 'week' as config option to .set().
    
    	Example
    	
    	Date.today().set({week: 26});
    
    8.  Fixed bug where Date.parse("week 1") was not returning the correct date.
    
    9.  Removed final sugarpak.js dependency from within parser.js. Now the modules can be included in the following
    	order, with the preceding module required by the next. 
    	
    		1. CultureInfo
    		2. core.js
    		3. parser.js
    		4. sugarpak.js 
    
    10. Removed .toJSONString() from sugarpak.js. Please use .toISOString(). The .toISOString() function will return
    	an ISO 8601 string of the date that has been converted to it's UTC value. 
    	
    	The following example demonstrates passing a format to the .toString() function to return a string 
    	whose date has NOT been converted to it's UTC value and does not include the wrapping double-quotes of .toISOString().
    	
    	Example
    	
    	new Date().toString("yyyy-MM-ddTHH:mm:ssZ");
    
    11. Confirmed core.js and sugarpak.js modules still validate JSLint (http://www.jslint.com) 100% in whitespace strict mode.
    
    --------------------
    
    git-svn-id: http://datejs.googlecode.com/svn/trunk@152 1386df6d-df38-0410-ade5-638ece4065a8
Commits on Apr 5, 2008
  1. git-svn-id: http://datejs.googlecode.com/svn/trunk@151 1386df6d-df38-…

    geoff@coolite.com
    geoff@coolite.com committed Apr 5, 2008
    …0410-ade5-638ece4065a8
Commits on Apr 4, 2008
  1. --------------------

    geoff@coolite.com
    geoff@coolite.com committed Apr 4, 2008
    2008-04-04 [geoffrey.mcgill]
    1.  Fixed Parser.js bug where the parser was using the static month token to match against the 
        abbreviatedMonthNames array in the CultureInfo file. This was causing problems when the
        abbreviatedMonthNames strings were not English.
    
        Example
        
        // CultureInfo = "de-DE.js"
        Date.parse("mai"); // "May", but returns null
        
        
        The fix required changing the following (approx line #525) in Parser.js.
    
        // Old
        this.month = ((s.length == 3) ? $D.getMonthNumberFromName(s) : (Number(s) - 1));
    
        // New
        this.month = (s.length == 3) ? "jan feb mar apr may jun jul aug sep oct nov dec".indexOf(s)/4 : Number(s) - 1;
    
    2.  Fixed bug in time.js inside the TimePeriod class. A prototype of TimeSpan was mistakingly being set 
    	from within the TimePeriod class. 
    	
    	The following demonstrates using the TimePeriod class to get the difference between two dates.
    	
    	Example
    	
    	var future = new Date().add({months: 5, days: 4, hours: 3, minutes: 2, seconds: 1});
    	var now = new Date();
    
    	var tp = new TimePeriod(future, now);
    
    	console.log(tp.getYears());
    	console.log(tp.getMonths());
    	console.log(tp.getDays());
    	console.log(tp.getHours());
    	console.log(tp.getMinutes());
    	console.log(tp.getSeconds());
    	
    --------------------
    
    git-svn-id: http://datejs.googlecode.com/svn/trunk@150 1386df6d-df38-0410-ade5-638ece4065a8
  2. git-svn-id: http://datejs.googlecode.com/svn/trunk@149 1386df6d-df38-…

    geoff@coolite.com
    geoff@coolite.com committed Apr 4, 2008
    …0410-ade5-638ece4065a8
  3. git-svn-id: http://datejs.googlecode.com/svn/trunk@148 1386df6d-df38-…

    geoff@coolite.com
    geoff@coolite.com committed Apr 4, 2008
    …0410-ade5-638ece4065a8
Commits on Apr 1, 2008
  1. --------------------

    geoff@coolite.com
    geoff@coolite.com committed Apr 1, 2008
    2008-04-01 [geoffrey.mcgill]
    1.  Fixed bug where Date.nov().final().sunday() would return the second to last sunday.
    	
    	The bug was in the function moveToNthOccurrence (core.js). If the final day of the month
    	matched the final day required, then the second-to-last instance of the day required 
    	would be returned. 
    	
    	Example
    	
    	// Old - Final day of month is a Sunday
    	Date.nov().final().sunday() // return 23-Nov-2008
    	
    	// New
    	Date.nov().final().sunday() // return 30-Nov-2008
    	
    2.  Added several tests to /trunk/test/core/ to test for this scenario.	
    
    --------------------
    
    git-svn-id: http://datejs.googlecode.com/svn/trunk@147 1386df6d-df38-0410-ade5-638ece4065a8
Commits on Mar 27, 2008
  1. --------------------

    geoff@coolite.com
    geoff@coolite.com committed Mar 27, 2008
    2008-03-27 [geoffrey.mcgill]
    1.  Fixed bug which caused the string "Jan 2008" to not be parsed correctly. The 'Day' value would be
    	set to "today's" Day. For example, if Today is the 27th day of the month, Date.parse("Jan 2008")
    	would return "27-Jan-2008", although "1-Jan-2008" was expected.
    	 
    	The bug was caused by a check to see if the value of this.month was existed within Parser.finish.
    	If a variable is set to the Number "0", JavaScript appears to treat that as null or undefined 
    	even though the Number "0" is valid.
    	
    	Required an explicit check for the Number "0" in addition to the variable existence check.
    	
    	Example
    	
    	// Old (line 727 in parser.js)
    	if (this.month && !this.day) { 
    	
    	// New (line 727 in parser.js)
    	if ((this.month || this.month === 0) && !this.day) { 
    	
    2.  Added about 100 new tests to /trunk/test/partial/ which test for vaiations on date strings 
    	with no Day value and No Year-or-Month value. View online at http://www.datejs.com/test/partial/
    
    --------------------
    
    git-svn-id: http://datejs.googlecode.com/svn/trunk@146 1386df6d-df38-0410-ade5-638ece4065a8
Commits on Mar 25, 2008
  1. --------------------

    geoff@coolite.com
    geoff@coolite.com committed Mar 25, 2008
    2008-03-24 [geoffrey.mcgill]
    1.  Fixed bug where a single digit minute or second value would not parse correctly. 
    	See forum post http://tinyurl.com/3d8b57.
    	
    	Made the following revision:
    
    	// Old
    	g.hms = _.cache(_.sequence([g.H, g.mm, g.ss], g.timePartDelimiter));
    		
    	// New
    	g.hms = _.cache(_.sequence([g.H, g.m, g.s], g.timePartDelimiter));
    	
    2.  Added a few tests to /trunk/test/time/ relating to above fix.
    
    --------------------
    
    git-svn-id: http://datejs.googlecode.com/svn/trunk@145 1386df6d-df38-0410-ade5-638ece4065a8
Commits on Mar 20, 2008
  1. --------------------

    geoff@coolite.com
    geoff@coolite.com committed Mar 20, 2008
    2008-3-18 [geoffrey.mcgill]
    1.  Made small revision to .addDays() which should avoid addition/subtraction issues when 
        spanning over a Daylight Saving Time (Summer Time) change.
    
    --------------------
    
    git-svn-id: http://datejs.googlecode.com/svn/trunk@144 1386df6d-df38-0410-ade5-638ece4065a8
Commits on Mar 18, 2008
  1. --------------------

    geoff@coolite.com
    geoff@coolite.com committed Mar 18, 2008
    2008-3-18 [geoffrey.mcgill]
    1.  Added Date.isDate(obj) function which will determine if an object is a Date object. 
    
    	The following example demonstrates a scenario where a simple "typeof" test will not return the expected result.
        
        Example
        
    	var doSomething = function (value) {
    		var temp = null;
    		if (value == "now") {
    			temp = new Date();
    		}
    		return temp;
    	};
    
    	var myfunction = function (value) {
    		var temp = doSomething(value);
    		
    		// The value returned by doSomething.
    		console.log("doSomething: ", temp);
    		
    		// Simple typeof check, but "temp" is a typeof "object". But we know it's a Date.
    		console.log("type: ", typeof temp);
    		
    		// The isDate function will correctly determine if "temp" is a Date object or not.
    		console.log("isDate: ", Date.isDate(temp));
    	}
    	
    	myfunction("now");
    
    2.  Add .getQuarter() function which will return a Number representing the Year Quarter value for the current Date instance.
    
    	Example
    	
    	console.log(Date.today().getQuarter()); // 1 to 4
    
    --------------------
    
    git-svn-id: http://datejs.googlecode.com/svn/trunk@143 1386df6d-df38-0410-ade5-638ece4065a8
Commits on Mar 4, 2008
  1. --------------------

    geoff@coolite.com
    geoff@coolite.com committed Mar 4, 2008
    2008-3-3 [geoffrey.mcgill]
    1.  Fixed .toString() bug where .toString would not return four characters if the year was less than 1000.
            
    	// Old 
    	console.log(Date.today().set({year: 10}).toString("yyyy"); // "10"
    	
    	// New
    	console.log(Date.today().set({year: 10}).toString("yyyy"); // "0010"
    	
    	The fix also corrected the same issue with .toString("yy") if the year was less than 10.
    	
    	// Old 
    	console.log(Date.today().set({year: 5}).toString("yy"); // "5"
    	
    	// New
    	console.log(Date.today().set({year: 5}).toString("yy"); // "05"
    
    --------------------
    
    git-svn-id: http://datejs.googlecode.com/svn/trunk@140 1386df6d-df38-0410-ade5-638ece4065a8
Commits on Feb 27, 2008
  1. --------------------

    geoff@coolite.com
    geoff@coolite.com committed Feb 27, 2008
    2008-2-26 [geoffrey.mcgill]
    1.  Dan Yoder fixed bug with timeContext pattern where if a date included "april" or "august", the parser thought the 'a' was the beginning of a time part (as in am/pm).
           
            "added a quick negative lookahead to the regexp to make sure the 'a' isn't followed by a 'u' or a 'p'."
            
    	// Old 
    	timeContext: /^\s*(\:|a|p)/i
    	
    	// New
    	timeContext: /^\s*(\:|a(?!u|p)|p)/i
    	
    2.  Fixed bug in Parser.finish, which was causing "11 Aug 2007 7:15:00 am EDT" to fail.
    
    --------------------
    
    git-svn-id: http://datejs.googlecode.com/svn/trunk@138 1386df6d-df38-0410-ade5-638ece4065a8
  2. Fix for 25 aug 2008 17:00 problem (take 2)

    dan@zeraweb.com
    dan@zeraweb.com committed Feb 27, 2008
    git-svn-id: http://datejs.googlecode.com/svn/trunk@137 1386df6d-df38-0410-ade5-638ece4065a8
Commits on Feb 26, 2008
  1. Fix for 25 aug 2008 17:00 problem

    dan@zeraweb.com
    dan@zeraweb.com committed Feb 26, 2008
    git-svn-id: http://datejs.googlecode.com/svn/trunk@136 1386df6d-df38-0410-ade5-638ece4065a8
Commits on Feb 21, 2008
  1. --------------------

    geoff@coolite.com
    geoff@coolite.com committed Feb 21, 2008
    2008-2-21 [geoffrey.mcgill]
    1.  Fixed bug in .parseExact where if the month was January ('0') the Parser.finishExact function was resetting to the current month.
    2.  Added several new tests to /trunk/test/parseExact/.
    
    --------------------
    
    git-svn-id: http://datejs.googlecode.com/svn/trunk@135 1386df6d-df38-0410-ade5-638ece4065a8