code: function (y, m, d, h, min, s, ms) {
      var args = argsToArray(arguments);
      if (args.length === 0) {
          this.date = new Date();
      } else if (isDate(y)) {
          this.date = y;
      } else {
          var date = new Date(1970, 0, 1, 0, 0, 0);
          isNumber(y) && date.setYear(y);
          isNumber(m) && date.setMonth(m);
          isNumber(d) && date.setDate(d);
          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 TimeStamp type to be used in queries that require a SQL timestamp datatype.
  All <i>Date</i> methods ar included in the prototype of the TimeStamp type. toString and toJSON
  are overridden to return a ISO8601 format instead of the default <i>Date</i> formatting.
  See {@link patioTime#timeStampToString} for formatting information.
  
  @example
  
  var timeStamp = patio.TimeStamp(2009, 10, 10, 10, 10, 10); //=> '2009-11-10 10:10:10'
  JSON.stringify(timeStamp); //=> '2009-11-10 10:10:10'
  
  @memberOf patio.sql
  @param {Number} [y=1970] the year
  @param {Number} [m=0] the month
  @param {Number} [d=1] the day
  @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.