       # todays date. If we have a year, then we have a date with no day, so we
       # assume the first of the month.
       if not day?
-        if not year?
+        if not month?
           date.push now.getUTCDate()
         else
           date.push 1

      )?
      (?:           # optional zone 
        (?:\s+|Z)     # zone delimiter
        (?:
          ([+-])      # sign
          (\d{2})     # hours
          (?:         # optional minutes
            :?          # optional colon
            (\d{2})     # minutes
          )?
        )
      )?

      [ hours, minutes, seconds, milliseconds ] = time if time[0]?

      # See if we matched a zone offset.
      zone = match.shift()
      zoneOffset = offsetInMilliseconds(zone) if zone?

      # Stuff fater the matched ISO date.
      after = match.pop()
