microformat-shiv.js
function(date, time, format) {
			var isodate = new modules.ISODate(date, format),
				isotime = new modules.ISODate();

			isotime.parseTime(this.parseAmPmTime(time), format);
			if(isodate.hasFullDate() && isotime.hasTime()) {
				isodate.tH = isotime.tH;
				isodate.tM = isotime.tM;
				isodate.tS = isotime.tS;
				isodate.tD = isotime.tD;
				return isodate;
			} else {
				if(isodate.hasFullDate()){
					return isodate;
				}
				return new modules.ISODate();
			}
		}
function(date, time, format) {
			var isodate = new modules.ISODate(date, format),
				isotime = new modules.ISODate();

			isotime.parseTime(this.parseAmPmTime(time), format);
			if(isodate.hasFullDate() && isotime.hasTime()) {
				isodate.tH = isotime.tH;
				isodate.tM = isotime.tM;
				isodate.tS = isotime.tS;
				isodate.tD = isotime.tD;
				return isodate;
			} else {
				if(isodate.hasFullDate()){
					return isodate;
				}
				return new modules.ISODate();
			}
		}
function ( date , time , format ) { var isodate = new modules . ISODate ( date , format ) , isotime = new modules . ISODate ( ) ; isotime . parseTime ( this . parseAmPmTime ( time ) , format ) ; if ( isodate . hasFullDate ( ) && isotime . hasTime ( ) ) { isodate . tH = isotime . tH ; isodate . tM = isotime . tM ; isodate . tS = isotime . tS ; isodate . tD = isotime . tD ; return isodate ; } else { if ( isodate . hasFullDate ( ) ) { return isodate ; } return new modules . ISODate ( ) ; } }
overlays a time on a date to return the union of the two

@param  {String} date
@param  {String} time
@param  {String} format ( Modules.ISODate profile format )
@return {Object} Modules.ISODate
overlays a time on a date to return the union of the two