code: function (h, min, s, ms) {
      var args = argsToArray(arguments);
      if (args.length === 0) {
          this.date = new Date();
      } else if (isDate(h)) {
          this.date = h;
      } else {
          var date = new Date(1970, 0, 1, 0, 0, 0);
          isNumber(h) && date.setHours(h);
          isNumber(min) && date.setMinutes(min);
          isNumber(s) && date.setSeconds(s);
          isNumber(ms) && date.setMilliseconds(ms);
          this.date = date;
      }
  
  }
docs: @constructor
  Creates a Time type to be used in queries that require a SQL time datatype.
  All <i>Date</i> methods ar included in the prototype of the Time type. toString and toJSON
  are overridden to return a time format instead of the default <i>Date</i> formatting.
  See {@link patioTime#timeToString} for formatting information.
  
  @example
  
  var time = patio.Time(12, 12, 12); //=> 12:12:12
  JSON.stringify(time); //=> 12:12:12
  
  @memberOf patio.sql
  @param {Number} [h=0] the hour
  @param {Number} [min=0] the minute/s
  @param {Number} [s=0] the second/s
  @param {Number} [ms=0] the millisecond/s, this paramater is not be used, but may depending on the adapter.