Cómo convertir fecha a cadena en js

/**?*?Extensión de fecha, convirtiendo?Fecha? en cadena?*?mes (M), día (d), 12 horas (h), 24 horas (H), minutos ( m), segundos (s), semanas (E), trimestres (q)?

Se pueden usar 1-2 marcadores de posición* ¿Se pueden usar años (y)? ?1-4? S) ¿solo se puede usar ?1? marcador de posición (un número de ?1-3? dígitos)?*?por ejemplo:?*?(new?

Fecha()).pattern("yyyy-MM- dd?hh:mm:ss.S")==>?2006-07-02?08:09:04.423 *?(new?Fecha()) .pattern("aaaa-MM-dd?E?HH:mm :ss")?==>?2009-03-10?二?20:09:04 *?(new?Fecha()).pattern(" aaaa-MM-dd?EE?hh:mm:ss") ?==>?2009-03-10?Martes?08:09:04 *?(new?Fecha()).pattern("aaaa-MM- dd?EEE?hh:mm:ss")?==> ?2009-03-10?Martes?08:09:04 *?(new?Date()).pattern("yyyy-M-d?h:m: s.S")?==>?2006-7-2?8 :9:4.18 */?

Fecha.prototype.pattern=función(fmt)?{

var?=?{

"M+" ?:?this.getMonth()+1,?//Mes

"d+"?:?this.getDate(),? //Día

"h+"?: ?this.getHours()%12?==?012?:?this.getHours()%12,?//Hora

"H+"?:?this.getHours(),?// horas

"m+"?:?this.getMinutes(),?//minutos

"s+"?:?this.getSeconds(),?//segundos

"q+"?:?Math.floor((this.getMonth()+3)/3),?//cuarto

"S"?:?this.getMillisegundos()? //Milisegundos

};

var?week?=?{

"0 "?:?"/u65e5",

"1"?:?"/u4e00",

"2"?:?"/u4e8c",

"3"?:?"/u4e09",

"4"?:?"/u56db",

"5"?:?"/u4e94",

"6"?:?"/u516d "?

};

if(/(y+)/.test(fmt)){

fmt=fmt.replace(RegExp.$1,? (this.getFullYear()+"").substr(4?-?RegExp.$1.length));

}

if(/(E+)/.test( fmt)){

fmt=fmt.replace(RegExp.$1,?((RegExp.$1.length>1)(RegExp. $1.length>2"/u661f/u671f"?:?" /u5468")?:?"")+semana[this.getDay()+""]);

}

for(var?k?in?o){

if(new?RegExp("("+?k?+")").test(fmt)){

fmt?=?fmt.replace(RegExp.$1,?(RegExp.$1. longitud==1)(o[k])?:?((("00"+?o[k]).substr((""+?o[k]).longitud)));

}

}

return?fmt;

}?

var?date?=?new?Date()

ventana.alert(fecha.pattern("aaaa-MM-dd?hh:mm:ss"));